2010-09-15 43 views
7

Tôi đang cố gắng để có được kết nối với cơ sở dữ liệu Sqlite tôi lập trình sử dụng C#/ASP.NET:Tôi có thể truy cập SQLite bằng C# bằng cách nào?

string requete_sql = "SELECT * FROM USERS"; 
connStr = @"Data Source=C:\LocalFolder\FooBar.db;"; 
using (System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection(connStr)) { 
System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand(requete_sql,conn); 
conn.Open(); 
cmd.ExecuteNonQuery(); 
} 

Nhưng một ngoại lệ tăng (trên() dòng conn.Open) nói rằng:

A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified) 

Điều này rất lạ vì tôi đã sao chép chuỗi kết nối chính xác được tìm thấy trong tệp Web.config.

Làm cách nào để tránh ngoại lệ này?

PS: Mục tiêu của tôi là chỉ được kết nối với cơ sở dữ liệu theo lập trình mà không có tệp web.config.

Cảm ơn bạn,

Kính trọng.

Trả lời

7

Bạn không thể kết nối với sqlite db bằng cách sử dụng các lớp SQLProvider. Chúng dành cho máy chủ sql. Bạn cần sử dụng các lớp học SQLite provider.

+0

Url không hoạt động nữa, tôi đang sử dụng Nuget để lấy thư viện, nếu không bạn có thể tham khảo https://system.data.sqlite.org –

11

SQLLite trong C# (yêu cầu System.Data.SQLLite trong tài liệu tham khảo)

using System.Data.SQLite; 
using System.Data.Common; 


SQLiteConnection db = new SQLiteConnection("Data Source=C:\LocalFolder\FooBar.db;FailIfMissing=True;"); 
db.Open(); 
using (SQLiteCommand comm=db.CreateCommand()) { 
    comm.CommandText = requete_sql; 
    IDataReader dr=comm.ExecuteReader(); 
    while (dr.Read()) 
    { 
    //... 
    } 
} 
+0

Có thể cần phải đề cập rằng đây không chỉ đơn thuần là tham chiếu nhưng phụ thuộc NuGet. – CodeMonkey

1
  1. Tải về sự phân bố thích hợp từ http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki
  2. Tham chiếu System.Data.SQLite.DLL trong dự án của bạn (điều này mang đến cho bạn lớp SQLiteConnection)
  3. Kết nối với

    SQLiteConnection connection = new SQLiteConnection(@"DbLinqProvider=Sqlite;Data Source=Database.s3db"); 
    Main main = new Main(connection); 
    

Xem https://code.google.com/p/dblinq2007/wiki/Installation#To_use_DbLinq để biết chi tiết.

Các vấn đề liên quan