OLE DB リソースのプールでは、SQL アプリケーション ロール エラー

文書翻訳 文書翻訳
文書番号: 229564
すべて展開する | すべて折りたたむ

目次

現象

有効、SQL Server アプリケーション ロールには、SQL Server ActiveX データ オブジェクト (ADO) 接続が表示されます可能性があります。SQL Server 7.0 に接続すると、次のエラー メッセージ。
sp_setapprole が正しく呼び出されませんでした。参照してください、詳細についてを参照してください。
SQL Server に接続する場合は、2000、エラーは次のようなが表示されます。
[DBNETLIB と][ConnectionRead (WrapperRead())。]一般的なネットワーク エラーが発生しました。確認する、ネットワークの文書化
Sp_setapprole が呼び出されたときにこのエラーが発生します。OLE DB リソースのプールから割り当てられた ADO 接続をします。SQLOLEDB プロバイダーまたは SQL Server の ODBC でこのエラーが発生します。ドライバーです。

この資料に記載されている制限も存在しています。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 のデータプロバイダーを追加することによって"プール = 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 Books Online です。トピック:"アプリケーション セキュリティとアプリケーションロール」

OLE DB サービスを無効にする方法の詳細についてを参照してください、「プールで、Microsoft データ アクセス コンポーネント、「利用可能な技術の記事MSDN オンライン。
http://msdn2.microsoft.com/en-us/library/ms810829.aspx
OLE DB サービスを無効にする方法の詳細についてを参照してください。OLE DB Readme.txt ファイルです。

プロパティ

文書番号: 229564 - 最終更新日: 2011年7月22日 - リビジョン: 8.0
キーワード:?
kbprb kbfaq kbpending kbmt KB229564 KbMtja
機械翻訳の免責
重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。
英語版 KB:229564
Microsoft Knowledge Base の免責: Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。

フィードバック

 

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