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”

Đăng Trần viết 11:05 ngày 01/10/2018

“Data Source=ServerName;
Initial Catalog=DatabaseName;User ID=UserName;Password=Password”

ACP viết 11:04 ngày 01/10/2018

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)

Trần Hoàn viết 11:06 ngày 01/10/2018

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.

Đăng Trần viết 11:13 ngày 01/10/2018

Sqlite cũng là 1 gợi ý hay cho các ứng dụng portable.

Storm viết 11:11 ngày 01/10/2018

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 @@

Trần Hoàn viết 11:09 ngày 01/10/2018

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

Storm viết 11:06 ngày 01/10/2018

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 ??

Đăng Trần viết 10:58 ngày 01/10/2018
stackoverflow.com
Eternal21

SQL logic error or missing database no such table when deleting from database

vb.net, sqlite
answered by Eternal21 on 10:46PM - 19 Nov 13
Đăng Trần viết 10:59 ngày 01/10/2018

Thay thế đường dẫn tuyệt đối vào connectstring.
Em làm wpf hay winform? Để tý anh lấy demo cho rõ.

Storm viết 11:00 ngày 01/10/2018

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);

Storm viết 11:03 ngày 01/10/2018

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

Đăng Trần viết 11:10 ngày 01/10/2018

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.

Storm viết 11:02 ngày 01/10/2018

Xong rồi bác, thành công mỹ mãn luôn. tks bác nhiều

Đăng Trần viết 11:01 ngày 01/10/2018

Thả tim Đê…

Bài liên quan
0