01/10/2018, 00:56
Cài đặt một project cơ sở dữ liệu vào máy khác
Mọi người cho hỏi, khi mình viết một chương trình cơ sở dữ liệu sử dụng hqtcsdl mySQL thì chương trình đó chỉ chạy được ở máy của mình thôi (ngoại trừ Access có thể đính kèm vào ứng dụng). Nếu muốn ứng dụng này cài đặt và sử dụng ở máy khác thì phải làm thế nào? Có phải bắt buộc máy sử dụng ứng dụng của mình cũng cần phải cài hqtcsdl tương ứng?
Bài liên quan
Đúng vậy, nếu em sử dụng local thì bắt buộc phải cài vào máy khác như máy em. Thông thường các phần mềm sẽ tích hợp cài nhiều tool 1 lúc nên em sẽ không nhận ra.
Thường thì mình dùng liên kết động trong C# như sau:
string fullpath = AppDomain.CurrentDomain.BaseDirectory; string fixedpath = fullpath.Replace(@"<Tên Project chính>\bin\Debug\", @""); return new SqlConnection(@"Server=(localdb)\v11.0;AttachDbFilename=" + fixedpath + @"<Thư mục chứa Project SQL>\Database\<File dữ liệu>.mdf;Integrated Security = True;Connect Timeout=10");
Cả thư mục của project chính và thư mục chứa Project SQL đều đặt trong thư mục solution. Như vậy thì copy thư mục Soluition sang máy khác thì nó vẫn tìm ra liên kết đó. Miễn là máy đó có máy chủ ảo v11.0 và file .mdf kia cho phép Windows Authentication.
Cách làm tương tự với ứng dụng Publish. Bạn tự tìm hiểu xung quanh thuộc tính AppDomain.CurrentDomain.BaseDirectory nhé.