Связанный сервер SQL Server не работает в ASP Classic - PullRequest
1 голос
/ 16 октября 2011

Я создал связанный сервер с таблицей Excel. Все нормально и работает в SQL Server. Я могу запросить файл Excel в анализаторе запросов.

Но когда я пытаюсь получить доступ к этому серверу ссылок на моей странице asp:

Set pishbini = Server.CreateObject("ADODB.Recordset")

pishbini.ActiveConnection = MM_semmet_STRING
pishbini.Source = "SELECT * FROM OPENQUERY(SemnanmetWeekly, 'SELECT * FROM [DayPish$]')"
pishbini.CursorType = 0
pishbini.CursorLocation = 2
pishbini.LockType = 1
pishbini.Open()

SemnanmetWeekly - это имя связанного сервера в SQL Server. Я получаю эту ошибку на своей странице asp:

Поставщик Microsoft OLE DB для драйверов ODBC, ошибка '80040e14'

[Microsoft] [Драйвер ODBC SQL Server] [SQL Server] Поставщик OLE DB «Microsoft.Jet.OLEDB.4.0» для связанного сервера «SemnanmetWeekly» возвратился сообщение "Невозможно запустить приложение. Информационный файл рабочей группы отсутствует или открыт исключительно другим пользователем. ".

/ Daypish.asp, строка 15

IUSR (пользователь IIS) имеет полный доступ к файлу Excel, я играл со всеми различными параметрами в настройках сервера ссылок, такими как олицетворение или доступ к файлу Excel с учетной записью администратора, но ошибка осталась прежней!

Я предпочитаю не менять код, поскольку я занимаюсь только администрированием на этом сервере. он работал на старом сервере, но с тех пор, как мы переместили его на новый сервер, он перестал работать. что-то я здесь скучаю?

1 Ответ

1 голос
/ 17 октября 2011

Не связано с разрешениями. Я думаю, что вы вошли в Sql Server с аутентификацией Windows, все в порядке, вы босс. Но если соединение в ASP проходит проверку подлинности SQL, вы получите эту ошибку. Таким образом, вы должны добавить логин связанного сервера с запросом, подобным следующему.

Exec master..sp_addlinkedsrvlogin
@rmtsrvname = N'SemnanmetWeekly',
@useself = N'False',
@locallogin = N'sa', /* replace your own - same as sql server authenticated account */
@rmtuser = NULL, 
@rmtpassword = NULL

Затем вы можете подключиться к SemnanmetWeekly в вашем приложении ASP.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...