SQL OLE DB kaynak havuzu ile uygulama rolünü hataları

Makale çevirileri Makale çevirileri
Makale numarası: 229564 - Bu makalenin geçerli olduğu ürünleri görün.
Hepsini aç | Hepsini kapa

Bu Sayfada

Belirtiler

Bir SQL Server için Microsoft ActiveX Data Objects (ADO)</a1> bağlantısında SQL Server bir uygulama rol etkinleştirdiğinizde, SQL Server 7. 0'a bağlanırken aşağıdaki hata iletisini alabilirsiniz:
sp_setapprole doğru başlatıldığı değil. Daha fazla bilgi için belgelere başvurun.
SQL Server 2000'e bağlandığınızda, bu hata aşağıdaki gibi görünebilir:
[dbnetlib][ConnectionRead (WrapperRead()).]Genel ağ hatası. Ağ bağlantınızı denetleyin
OLE DB kaynak havuzundan ayrılmış bir ADO bağlantı sp_setapprole çağrıldığında, bu hata oluşur. Bu hata, SQLOLEDB sağlayıcısı veya SQL Server ODBC oluşur sürücü.

Bu makalede açıklanan sınırlama da SQL Server .NET Data Provider, var ve OLE DB .NET Data Provider SQLOLEDB OLE DB sağlayıcı ile kullanıldığında. Bağlantı havuzundan çizilmiş bir bağlantıda bir uygulama rol ayarlamaya çalıştığınızda aşağıdaki hata iletisini alırsınız:
Genel ağ hatası

Neden

Bir uygulama rol, bir SQL Server için istemci</a1> bağlantıda etkinleştirildikten sonra geçerli tasarımında, bu bağlantının güvenlik bağlamını sıfırlayamazsınız. Bu nedenle, kullanıcı SQL Server oturumunu sona erdirir ve sunucu bağlantısını keser, oturuma yeniden kullanılabilir değil. Ancak, OLE DB kaynak havuzu kapalı bağlantı havuzuna döner ve bu hata, bağlantının yeniden bağlantının güvenlik içeriği arama sp_setapprole tarafından yeniden sıfırlamak, istemci uygulaması çalıştığında oluşur.

Pratik Çözüm

OLE DB kaynak devre dışı bırakmak için geçici çözüm yalnızca kullanılabilir olan ADO varsayılan olarak kullandığı havuzu. Bu ekleyerek yapabilirsiniz "OLE DB Hizmetleri -2 =" için ADO bağlantı dizesi, a?a??da gösterildi?i gibi:
'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"
				

Havuzu SQL Server .NET için devre dışı bırakılması veri ekleyerek Provider "havuzu = false" için bir bağlantı dizesi.

Daha fazla bilgi

Aşağıdaki kodda hata reproduces:
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
				

Başvurular

SQL Books Online'da; konu: "Uygulama güvenlik ve uygulama rollerini"

OLE DB hizmetlerini devre dışı bırakma hakkında daha fazla bilgi için bkz: teknik makaleyi "Pooling, Microsoft Data Access Components," MSDN Online sitesindeki kullanılabilir:
http://msdn2.microsoft.com/en-us/library/ms810829.aspx
OLE DB hizmetleri kapatma hakkında daha fazla bilgi için OLE DB Readme.txt dosyasına bakın.

Özellikler

Makale numarası: 229564 - Last Review: 15 Şubat 2007 Perşembe - Gözden geçirme: 4.3
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft Data Access Components 2.0
  • Microsoft Data Access Components 2.1
  • Microsoft Data Access Components 2.5
  • Microsoft Data Access Components 2.6
  • Microsoft Data Access Components 2.7
  • Microsoft Data Access Components 2.8
Anahtar Kelimeler: 
kbmt kbpending kbprb KB229564 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:229564

Geri Bildirim Ver

 

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