Как получить доступ к SQLite с помощью C#?

Я пытаюсь подключиться к моей базе данных Sqlite программно, используя C# / ASP.NET:

string requete_sql = "SELECT * FROM USERS";
connStr = @"Data Source=C:LocalFolderFooBar.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();
}

но возникает исключение (на conn.Open () line) говорит, что:

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)

что очень странно, потому что я скопировал точную строку соединения, найденную в Интернете.конфигурационный файл.

Как я могу избежать этого исключения?

PS: моя цель - подключиться только программно к базе данных без интернета.конфигурационный файл.

спасибо ты,

С уважением.

4 ответов


вы не можете подключиться к SQLite db с помощью классов SQLProvider. Они предназначены для sql server. Вам нужно использовать поставщик SQLite классы.


SQLLite в C# (требуется System.Data.SQLLite в ссылках)

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())
  {
    //...
  }
}

об этом есть статья в журнале MSDN:

http://msdn.microsoft.com/en-us/magazine/ff898405.aspx


  1. скачать соответствующий дистрибутив с http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki
  2. ссылка System.Data.SQLite.DLL в вашем проекте (это дает вам класс SQLiteConnection)
  3. соединяется с

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

см.https://code.google.com/p/dblinq2007/wiki/Installation#To_use_DbLinq для деталей.