Ошибки роль приложения SQL OLE DB в пул ресурсов

Переводы статьи Переводы статьи
Код статьи: 229564 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

В этой статье

Проблема

При включении роли приложения SQL Server на Объекты данных ActiveX (ADO) подключение к SQL Server, может появиться следующее сообщение об ошибке при подключении к SQL Server 7.0.
sp_setapprole не был вызван неправильно. Обратитесь к документация для получения дополнительных сведений.
При подключении к SQL Server 2000, сообщение об ошибке может отображаться следующим образом:
[DBNETLIB][ConnectionRead (WrapperRead()).]Общая ошибка сети. Проверьте свой Документация сети
Эта ошибка возникает, когда вызывается процедура sp_setapprole для подключения ADO, занятый из пула ресурсов OLE DB. Эта ошибка возникает с поставщика SQLOLEDB или ODBC для SQL Server драйвер.

Также существует ограничение, описанное в данной статье в SQL Server.NET поставщик данных и в OLE DB.NET поставщик данных при используемый поставщик SQLOLEDB OLE DB. При попытке установить роль приложения принимать подключения, который взят из пула подключений, следующее сообщение об ошибке:
Общая ошибка сети

Причина

В макете, после включения роли приложения При подключении клиента к серверу SQL Server нельзя восстановить контекст безопасности Это подключение. Таким образом, когда пользователь завершает сеанс SQL Server и Отключение от сервера, сеанс не многократного использования. Тем не менее OLE DB Создание пулов ресурсов возвращает закрытое подключение в пул и ошибки Происходит, когда это подключение используется повторно, и клиентское приложение пытается выполнить сброс контекст безопасности подключения, вызывающий sp_setapprole еще раз.

Временное решение

Доступно только устранить проблему, необходимо отключить ресурс OLE DB Пул, какие ADO использует по умолчанию. Это можно сделать путем добавления «служб OLE DB = -2 "в строке соединения ADO, как показано ниже:
'For SQLOLEDB provider
 'strConnect = "Provider=SQLOLEDB;server=SQL7Web;OLE DB Services = -2;uid=AppUser;pwd=AppUser;initial catalog=northwind"

' For MSDASQL provider 
'strConnect = "DSN=SQLNWind;UID=Test;PWD=Test; OLE DB Services= -2"
				

Пул может быть отключен для SQL Server.NET данных Поставщик, добавив "Pooling = False" в строке подключения.

Дополнительная информация

Следующий код воспроизводит сообщение об ошибке:
Private Sub Command2_Click()
 Dim adoCn1 As ADODB.Connection
 Dim adoCn2 As ADODB.Connection

 Set adoCn1 = GetConnection
 
 Set adoCn2 = GetConnection
 Set adoCn2 = Nothing
 Set adoCn2 = GetConnection
 Set adoCn2 = Nothing
 Set adoCn2 = GetConnection  'Gives errors for both SQLOLEDB and ODBC
 Set adoCn2 = Nothing
End Sub

Private Function GetConnection() As ADODB.Connection
 Dim cn As ADODB.Connection
 Dim sSQL As String
 Dim strConnect As String

 Set cn = New ADODB.Connection
 
'For OLE DB provider
 strConnect = "Provider=SQLOLEDB;server=myServer;uid=AppUser;pwd=AppUser;initial catalog=northwind"

'Turn off Pooling ( all other services are enabled )
'strConnect = "Provider=SQLOLEDB;server=myServer;OLE DB Services= -2;uid=AppUser;pwd=AppUser;initial catalog=northwind"
 
 'For ODBC driver
 'strConnect = "DSN=SQLNWind;UID=Test;PWD=Test; "

'Turn off Pooling
'strConnect = "DSN=SQLNWind;UID=Test;PWD=Test; OLE DB Services= -2"

cn.ConnectionString = strConnect
cn.Open
 
 sSQL = "sp_setapprole 'order_entry', 'password'"
 cn.Execute sSQL
 Set GetConnection = cn
End Function
				

ССЫЛКИ

Документации по SQL; раздел: «безопасность и приложения Роли»

Для получения дополнительных сведений об отключении службы OLE DB, см. Техническая статья «Группирование в компоненты доступа К данным,» доступные в MSDN Online:
http://msdn2.Microsoft.com/en-us/library/ms810829.aspx
Для получения дополнительных сведений о том, как отключить службы OLE DB см. файл OLE DB Readme.txt.

Свойства

Код статьи: 229564 - Последний отзыв: 4 июня 2011 г. - Revision: 4.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft Data Access Components 2.1
  • Microsoft Data Access Components 2.5
  • Microsoft Data Access Components 2.6
  • Microsoft Data Access Components 2.7
Ключевые слова: 
kbpending kbprb kbmt KB229564 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:229564

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com