• Thứ Hai, 21/01/2008 13:32 (GMT+7)

    Kết nối máy chủ CSDL bằng địa chỉ IP

    Câu hỏi :

    Tôi dùng đoạn mã sau để kết nối đến csdl tại máy chủ có địa chỉ IP là 10.0.0.4 nhưng không được, xin hướng dẫn.


     



    Trả lời :
     Public conn As New Connection
     connectStringSQL = "Provider=SQLOLEDB; Persist Security Info=False; SERVER=10.0.0.4; UID=sa; PWD=; Initial Catalog=QLNS; Port=1433"
     conn.ConnectionString = connectStringSQL
     conn.CursorLocation = adUseClient
     conn.Open

     Chuỗi ConnectionString của bạn chứa các tham số đúng, tuy nhiên bạn hãy kiểm tra lại giá trị của từng tham số xem có đúng không. Chỉ cần giá trị của 1 tham số bị sai thì việc tạo Connection đến database sẽ bị thất bại. Để tránh tối đa lỗi, bạn nên xóa các tham số dùng giá trị mặc định, thí dụ "Port=1433" và "Persist Security Info=False". Thường tham số "Server" (hay "Data Source") dễ gây lỗi nhất, nguyên nhân thường như sau:

     - Tên server database SQL thường có dạng <tên máy>\<tên server>, trong đó <tên máy> miêu tả tên gợi nhớ hay địa chỉ IP của máy chạy server SQL, còn <tên server> là tên cục bộ của database server mà bạn cần truy xuất. Thí dụ máy của tôi có tên gợi nhớ là HIEPCOMP, tên database server của tôi là HIEPDB thì tham số "Server" sẽ được viết:

     "Server=HIEPCOMP\HIEPDB"
     Như vậy, nếu muốn truy xuất SQL Server tên là YOURDB chạy ở máy có địa chỉ IP là 10.0.0.4, bạn phải viết tham số Server là:

     "Server=10.0.0.4\YOURDB"
     - Nếu dùng địa chỉ IP để nhận dạng máy server, bạn phải đảm bảo SQL Server cần truy xuất đã hỗ trợ protocol (giao thức) TCP/IP trong giao tiếp với các máy client. Bạn hãy tự mình (hay nhờ người quản lý SQL Server) chạy tiện ích quản lý cấu hình SQL Server (trên SQL Server 2005, tiện ích này có tên là "SQL Server Configuration Manager") để kiểm tra lại xem nó có hỗ trợ giao thức TCP/IP chưa, nếu chưa thì phải thiết lập lại cho server hỗ trợ giao thức này. Lưu ý, SQL Server có thể hỗ trợ đồng thời các giao thức Shared Memory, Named Pipes, TCP/IP, VIA...
    Chuyên mục: Cơ sở dữ liệu