01/10/2018, 08:57
Hỏi cách kết nối sql server trong C#
Các bác cho e hỏi e đang dùng sql server cho project C# của mình. Làm thế nào để khi đóng gói project đó và đưa cho máy khác sử dụng được mà ko cần phải cài thêm gì ??
E có gg thì ra cách đổi connection string nhưng e ko biết đổi thế nào, đã thử nhiều mà đều fail, bác nào biết giúp e với. Hoặc tư vấn giúp e giải pháp khác ạ.
Đây là chuỗi hiện tại
“Data Source=DESKTOP-UCPKSP7;Initial Catalog=test;Integrated Security=True”
Bài liên quan
“Data Source=ServerName;
Initial Catalog=DatabaseName;User ID=UserName;Password=Password”
Thường thì project muốn cài lên máy khác thì máy đó phải có các thư viện liên quan, nếu không có thì phải cài thêm. Còn cái connection string nói trên chỉ là cấu hình lại kết nối vào database thôi.
Còn ý bạn muốn hỏi là: cách publish project để cài lên máy khác thì xem hướng dẫn này (tiếng Anh): https://msdn.microsoft.com/en-us/library/31kztyey.aspx (user sẽ cài đặt như cài 1 ứng dụng bình thường)
SQL server là cơ sở dữ liệu, thực tế là dùng để truy cập qua mạng để kết nối đến dữ liệu lưu trên server.
Còn đóng gói là để tạo ra các sản phẩm dễ cài đặt và quản lý trên máy client.
Để quản lý được file mdf, người dùng phải cài đặt SQL server, tốn vài GB ổ cứng, cho nên về lý thuyết, người ta không đóng gói csdl viết bằng SQL server, và VS cũng không hỗ trợ điều đó :))
Nếu mà bạn viết chương trình để lưu dữ liệu chạy trên máy cá nhân (offline) thì bạn không nên dùng SQL server, chỉ cần những cái như M$ Access hoặc XML thôi.
Còn nếu viết chương trình để chạy qua mạng thì cài đặt sẵn một máy trong mạng là server, phần connection string thì chứa địa chỉ IP của máy đấy và các thông tin đăng nhập.
Sqlite cũng là 1 gợi ý hay cho các ứng dụng portable.
có cách nào thay thế ko bác, vì e dùng sql khá nhiều vào trong project rồi, giờ đổi lại toàn bộ kết nối cũng ngại @@
Thế là bạn làm sai từ đầu, càng làm nhiều lỗi càng to nên fix vất vả hơn thôi mà :))
Còn nếu mà là báo cáo môn học thì cứ quẳng solution + file mdf cho giáo viên thôi
E đang thử chuyển sang sqlite theo hướng dẫn của video này
Đến bước check connect thì báo ok, nhưng đến lúc thao tác select, insert với db thì nó cứ báo
SQL logic error or missing database no such table
là sao vậy bác, file db e tạo đủ, ko thiếu table nào ??
SQL logic error or missing database no such table when deleting from database
Thay thế đường dẫn tuyệt đối vào connectstring.
Em làm wpf hay winform? Để tý anh lấy demo cho rõ.
e làm wpf, nhưng bước check kết nối ok rồi mà ??
var str = "Data Source = |DataDirectory|database.db; Version = 3"; SQLiteConnection con = new SQLiteConnection(str);
E test cái đường dẫn tuyệt đối ok rồi a, nhưng e muốn dùng file db trong project như này thì làm thế nào ?
ko nhẽ cho đường dẫn tuyệt đối thành đường dẫn khi setup project xong ??
C:\Program Files (x86)\project\database.db
Tới đây rồi nếu các kết nối ổn định thì em tìm cách đổi thành path tương đối cho file connect của em nó đủ hiểu. Tạo thư mục data trong project để dễ truy cập là 1 gợi ý nhỏ để dễ ăn hơn.
Xong rồi bác, thành công mỹ mãn luôn. tks bác nhiều
Thả tim Đê…