SQL ?ng d?ng vai tr? l?i v?i OLE DB tài nguyên chia tài nguyên

D?ch tiêu đ? D?ch tiêu đ?
ID c?a bài: 229564 - Xem s?n ph?m mà bài này áp d?ng vào.
Bung t?t c? | Thu g?n t?t c?

? Trang này

TRI?U CH?NG

Khi b?n b?t m?t SQL Server ?ng d?ng vai tr? m?t Microsoft ActiveX Data Objects (ADO) k?t n?i v?i SQL Server, b?n có th? nh?n đư?c thông báo l?i sau khi b?n k?t n?i v?i SQL Server 7.0:
sp_setapprole không đư?c vi?n d?n m?t cách chính xác. Tham kh?o các tài li?u hư?ng d?n cho bi?t thêm thông tin.
Khi b?n k?t n?i v?i SQL Server năm 2000, l?i có th? xu?t hi?n như sau:
[DBNETLIB][ConnectionRead (WrapperRead()).]L?i chung m?ng. Ki?m tra c?a b?n tài li?u m?ng
L?i này x?y ra khi sp_setapprole đư?c g?i là m?t k?t n?i ADO đ? đư?c phân b? t? h? bơi tài nguyên OLE DB. L?i này x?y ra v?i các nhà cung c?p SQLOLEDB ho?c SQL Server ODBC tr?nh đi?u khi?n.

Gi?i h?n đư?c mô t? trong bài vi?t này c?ng t?n t?i trong SQL Server.Lư?i nhà cung c?p d? li?u, và OLE DB.Lư?i nhà cung c?p d? li?u khi đư?c s? d?ng v?i các SQLOLEDB OLE DB Provider. Khi b?n c? g?ng thi?t l?p m?t ?ng d?ng vai tr? trên m?t k?t n?i đư?c rút ra t? các h? bơi k?t n?i, b?n nh?n đư?c các thông báo l?i sau:
L?i chung m?ng

NGUYÊN NHÂN

Trong thi?t k? hi?n t?i, sau khi m?t ?ng d?ng vai tr? đư?c kích ho?t trên m?t khách hàng k?t n?i đ?n máy ch? SQL, b?n không th? đ?t l?i b?i c?nh an ninh k?t n?i. V? v?y, khi ngư?i dùng k?t thúc phiên giao d?ch SQL Server và ng?t k?t n?i t? máy ch?, phiên giao d?ch là không th? tái s? d?ng. Tuy nhiên, OLE DB T?ng h?p tài nguyên tr? v? k?t n?i đóng c?a đ? h? bơi, và l?i x?y ra khi k?t n?i đó tái s? d?ng và ?ng d?ng khách c? g?ng thi?t l?p l?i k?t n?i b?o m?t b?i c?nh b?i g?i sp_setapprole m?t l?n n?a.

CÁCH GI?I QUY?T KHÁC

The workaround ch? có s?n là đ? vô hi?u hoá OLE DB tài nguyên T?ng h?p, ADO mà s? d?ng theo m?c đ?nh. B?n có th? làm đi?u này b?ng cách thêm "OLE DB Services = -2 "đ? chu?i k?t n?i ADO, như đư?c hi?n th? ? đây:
'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"
				

T?ng h?p có th? đư?c vô hi?u hoá cho SQL Server.D? li?u lư?i Nhà cung c?p b?ng cách thêm "Pooling = False" đ? k?t n?i chu?i.

THÔNG TIN THÊM

Đo?n m? sau tái t?o l?i:
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
				

TÀI LIỆU THAM KHẢO

SQL sách tr?c tuy?n; ch? đ?: "?ng d?ng b?o m?t và ?ng d?ng Vai di?n"

Đ? bi?t thêm chi ti?t v? vô hi?u hoá d?ch v? OLE DB, xem các k? thu?t bài vi?t thành "t?ng h?p trong the Microsoft d? li?u truy c?p ph?n," có s?n trên MSDN tr?c tuy?n:
http://msdn2.Microsoft.com/en-US/Library/ms810829.aspx
Đ? bi?t thêm chi ti?t v? làm th? nào đ? t?t d?ch v? OLE DB, xem taäp tin OLE DB Readme.txt.

Thu?c tính

ID c?a bài: 229564 - L?n xem xét sau cùng: 21 Tháng Tám 2011 - Xem xét l?i: 2.0
Áp d?ng
  • 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
T? khóa: 
kbpending kbprb kbmt KB229564 KbMtvi
Máy d?ch
QUAN TRỌNG: Bài vi?t này đư?c d?ch b?ng ph?n m?m d?ch máy c?a Microsoft ch? không ph?i do con ngư?i d?ch. Microsoft cung c?p các bài vi?t do con ngư?i d?ch và c? các bài vi?t do máy d?ch đ? b?n có th? truy c?p vào t?t c? các bài vi?t trong Cơ s? Ki?n th?c c?a chúng tôi b?ng ngôn ng? c?a b?n. Tuy nhiên, bài vi?t do máy d?ch không ph?i lúc nào c?ng hoàn h?o. Lo?i bài vi?t này có th? ch?a các sai sót v? t? v?ng, cú pháp ho?c ng? pháp, gi?ng như m?t ngư?i nư?c ngoài có th? m?c sai sót khi nói ngôn ng? c?a b?n. Microsoft không ch?u trách nhi?m v? b?t k? s? thi?u chính xác, sai sót ho?c thi?t h?i nào do vi?c d?ch sai n?i dung ho?c do ho?t đ?ng s? d?ng c?a khách hàng gây ra. Microsoft c?ng thư?ng xuyên c?p nh?t ph?n m?m d?ch máy này.
Nh?p chu?t vào đây đ? xem b?n ti?ng Anh c?a bài vi?t này:229564

Cung cấp Phản hồi

 

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