Thứ Sáu, 21 tháng 1, 2011

Kết nối CSDL MS SQL Server lưu trên máy chủ

Sau đây chúng tôi xin chia sẻ với bạn đọc bài hướng dẫn chương trình kết nối CSDL SQL server lưu trên máy chủ.

Về nguyên tắc, ứng dụng có thể truy xuất được database server cho dù nó nằm trên cùng máy hay trên máy khác miễn sao bạn biết chính xác địa chỉ của server database. Thật vậy, để kết nối với 1 database do server quản lý, ứng dụng cần xây dựng chuỗi ConnectionString miêu tả thông tin chi tiết về database cần truy xuất. Sau đây là một số chuỗi ConnectionString dùng các Provider khác nhau để truy xuất database do SQL Server quản lý:

'khai báo biến
Dim MyConString As String
'thiết lập chuỗi ConnectionString đến database
MyConString = "Provider=SQLNCLI;Server=HIEPCOMPSQLEXPRESS; Database=mydatabase; Uid=sa;Pwd=luonghoa;Integrated Security=SSPI;"
hay
MyConString = "Provider=SQLOLEDB; Persist Security Info=False; SERVER=HIEPCOMPSQLEXPRESS; UID=sa; PWD=luonghoa; Initial Catalog=mydatabase; Port=1433"
hay
MyConString = "Driver={SQL Server}; Server=HIEPCOMPSQLEXPRESS; Uid=sa;Pwd=luonghoa;Database=MyDatabase"
Mỗi chuỗi ConnectionString trong các thí dụ trên đều chứa nhiều tham số, trong đó 4 tham số chính yếu là địa chỉ SQL Server, tên database cần truy xuất, username và password được dùng để truy xuất database. Có thể bạn chưa rõ việc thiết lập tham số địa chỉ SQL Server. Nội dung của tham số này có dạng , trong đó miêu tả tên gợi nhớ hay địa chỉ IP của máy chạy SQL server, còn là tên của SQL Server mà bạn cần truy xuất. Thí dụ máy của tôi có tên là HIEPCOMP, tên SQL Server của tôi là HIEPDB thì tham số Server sẽ được viết:
"Server=HIEPCOMPHIEPDB"
Tương tự, thí dụ máy SQL Server chạy ở địa chỉ IP là 172.1.2.3, tên SQL Server là HIEPDB thì tham số Server sẽ được viết:

"Server=172.1.2.3HIEPDB"

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 ý rằng SQL Server có thể hỗ trợ đồng thời các giao thức khác nhau như Shared Memory, Named Pipes, TCP/IP, VIA.

Người quản trị SQL Server (administrator) sẽ quản lý các account được phép truy xuất, mỗi account được nhận dạng bởi username/password gì, có quyền truy xuất nào trên các database nào… Chương trình muốn truy xuất database nào đó trên SQL Server, người lập trình (hay người dùng phần mềm đó) phải biết các thông tin truy xuất database gồm địa chỉ SQL Server (có dạng ), tên database cần truy xuất, tên username/password được phép truy xuất database đó. Chỉ cần giá trị của 1 tham số trong chuỗi ConnectionString bị sai thì việc tạo Connection đến database sẽ bị thất bại và chương trình sẽ báo lỗi. Theo kinh nghiệm của chúng tôi, lỗi sai thường gặp nhất mà người lập trình mắc phải là khai báo sai địa chỉ của SQL Server, nhất là SQL Server chạy trên máy khác trong mạng.

Theo pcworld

Nguồn : Kết nối CSDL MS SQL Server lưu trên máy cồn


0 nhận xét:

Đăng nhận xét