Sau đây là một thủ thuật trong lập trình, UltraViewer muốn chia sẻ tới các bạn khi gặp phải hiện tượng tương tự.

sql-server-dsn-configuration
Hướng dẫn xử lý : khi kết nối tới SQL Server bị báo lỗi SQL Server does not exist or access denied

Nếu các bạn lập trình kết nối tới SQL Server thông qua Instance , ví dụ x.x.x.x\SQLEXPRESS và gặp phải thông báo lỗi sau:

[DBNETLIB]SQL Server does not exist or access denied.
hoặc
[DBNETLIB][ConnectionOpen (Connect()).] SQL Server does not exist or access denied

Các bạn có thể sửa lại bằng cách gỡ bỏ Instance SQLEXPRESS  ra khỏi ConectionString của bạn và chỉ dữ lại địa chỉ IP. ( Server= x.x.x.x thay vì Server= x.x.x.x\SQLEXPRESS )

Nếu các bạn đã gỡ bỏ hướng ra mà lại gặp phải lỗi mới:

[Microsoft][ODBC SQL Server Driver][DBNETLIB]Invalid connection.
hoặc
[DBNETLIB][ConnectionOpen (Invalid Instance()).]Invalid connection. 

Các bạn có thể làm thử theo các hướng dẫn ở trên mạng như:
– Kiểm tra tường lửa xem có chặn port 1433 không.
– Dùng telnet để kết nối kiểm tra thử
– Enable Named pipes và TCIP protocols trong SQL Configure manager.

Nếu tất cả các cách trên đều vẫn không được. Các bạn có thể thay đổi lại Provider thành SQL Native drivertrong ConnectionString thay vì dùng  SQLOLEDB là sẽ kết nối được.
Để kiểm tra xem máy của bạn đã cài SQL Native driver chưa, bạn vào Control Panel > Administrative Tool >  Data Sources (ODBC) > rồi vào tab Drivers để tìm xem đã cài đặt drivers SQL Server Native Client  hay chưa . Nếu máy bạn cài SQL Server Native Client 10.0 , bạn điền Provider=SQLNCLI10 . Nếu máy bạn có cài phiên bản 11.0 và bạn muốn dùng bản mới, bạn điền Provider=SQLNCLI11 .

Connection-String sau cùng :

 conn.open “Provider=SQLNCLI10;Data Source=x.x.x.x;Initial Catalog=;User ID=;Password=”

Cập nhập thêm cách khác:

Bạn cũng có thể thử đặt Provider= SQLOLEDB.1 với datasource dựa trên IP,port của server để khắc phục

Provider=SQLOLEDB.1;Data Source=tcp:SERVER-HOSTNAME-OR-IP,1433 ;Initial Catalog=;User ID=;Password=”

Cuối cùng, hãy sử dụng phần mềm điều khiển máy tính từ xa UltraViewer để điều khiển hỗ trợ đồng nghiệp, bạn bè của bạn nếu họ gặp phải sự cố cần sự trợ giúp của bạn.

Chúc các bạn thành công!
Nguồn: DucFabulous

Advertisements