Chyby aplikací role SQL s sdružování prostředků OLE DB

Překlady článku Překlady článku
ID článku: 229564 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Příznaky

Při povolení role aplikace serveru SQL Server na ActiveX Data Objects (ADO) připojení k serveru SQL Server můžete obdržet následující chybová zpráva při připojení k serveru SQL Server 7.0:
sp_setapprole vyvolána není správně. Vyhledejte další informace v dokumentaci.
Při připojení k serveru SQL Server 2000 chyby může vypadat takto:
[DBNETLIB][ConnectionRead (WrapperRead()).General network error. Check your network documentation
K této chybě dochází při připojení ADO přidělené z fondu zdrojů OLE DB, nazývá sp_setapprole. K této chybě dojde s zprostředkovatele SQLOLEDB nebo SQL Server ODBC ovladač.

Omezení popsaná v tomto článku také existuje v serveru SQL .NET zprostředkovatele dat a OLE DB .NET zprostředkovatele dat při použití zprostředkovatele SQLOLEDB OLE DB. Při pokusu nastavit role aplikací na připojení je nakreslena z fondu připojení zobrazí následující chybová zpráva:
General network error

Příčina

V aktuální návrh po role aplikací je povolena na připojení klienta k serveru SQL nelze obnovit kontextu zabezpečení připojení. Proto když uživatel ukončí relace serveru SQL a odpojí od serveru, relace není opakovaně použitelný. Však OLE DB sdružování prostředků vrátí uzavřené připojení fondu a dojde k chybě při připojení opakovaně a aplikace klient pokusí obnovit na připojení kontextu zabezpečení tak volající sp_setapprole.

Jak potíže obejít

K dispozici pouze řešením je zakázání OLE DB Resource Pooling které ADO používá ve výchozím nastavení. To lze provést přidáním "služby OLE DB =-2" k ADO připojovací řetězec, jak je znázorněno zde:
'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"
				

Pooling lze zakázat pro SQL Server .NET Data Provider přidáním "pooling = false" na připojovací řetězec.

Další informace

Následující kód chyby 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
				

Odkazy

Téma; SQL Books Online: "Zabezpečení a aplikací role aplikací"

Další informace o zakázání služby OLE DB naleznete v článku technické "Sdružování v the Microsoft Data Access Components," k dispozici na webu MSDN online:
http://msdn2.microsoft.com/en-us/library/ms810829.aspx
Další informace o tom, jak vypnout služby OLE DB naleznete v souboru OLE DB Readme.txt.

Vlastnosti

ID článku: 229564 - Poslední aktualizace: 15. února 2007 - Revize: 4.3
Informace v tomto článku jsou určeny pro produkt:
  • 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
Klíčová slova: 
kbmt kbfaq kbpending kbprb KB229564 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:229564

Dejte nám zpětnou vazbu

 

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