2009-08-07 3 views
0

У меня есть расширенная хранимая процедура (написанная в Delphi, если это имеет значение), которая делает свое собственное подключение через ODBC и выполняет некоторые обработки - вещи, которые не могут быть выполнены с использованием только T-SQL.Расширенная хранимая процедура с ODBC DSN

Если я пытаюсь подключиться с помощью System DSN, который устанавливается (например, с именем MyDataSource), то хр возвращает следующее сообщение об ошибке:

[Microsoft] [ODBC SQL Server Driver] [SQL Server] не удается открыть база данных, запрашиваемая при входе в систему «MyDataSource». Ошибка входа.

Однако, если я подключаюсь с использованием строки подключения (SERVER = MyServerName; DATABASE = MyDatabaseName и т. Д.), То он подключается к &, xp работает.

Я тестировал код вне xp, только приложение Windows, и соединение с использованием DSN работало. Я бы ожидал этого, так как это то же самое, что я подключился к базе данных уже 10 лет!

Так что я работаю, но очень хочу знать, почему он не работает с помощью DSN. Я также пробовал с пользовательским DSN, но без разницы.

Любые идеи? Благодарю.

+0

Последнее, что это просто не работает на SQL Server 2000. В SQL Server 2008 это работает, но я не знаю, к какой базе данных подключается xp. Это, конечно, не тот, на который указывает ODBC DSN, и он не является базой данных по умолчанию для пользователя. –

ответ

1

Имейте в виду, что при выполнении расширенной хранимой процедуры она выполняется под логином, который использует служба SQL-сервера. Если в журнале на этом SQL-сервере нет разрешений в сети, тогда будут возникать ошибки отказа. Надеюсь, это поможет.

+0

OK спасибо, что может быть полезно. Пользователь фактически является пользователем SQL Server, а не пользователем Windows. Я могу понять, что это может повлиять на вещи, если ODBC DSN является пользовательским DSN, но это системный DSN, и все это происходит на одном сервере. –

+0

Увидев, что вы были единственным, кто мог ответить, хотя это не помогло, я приму это. Благодарю. –

Смежные вопросы