Как я могу получить доступ к SQLite с помощью C #? - PullRequest
9 голосов
/ 15 сентября 2010

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

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

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

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)

Это очень странно, потому что я скопировал точную строку подключения, найденную в файле Web.config.

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

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

Спасибо,

Привет.

Ответы [ 4 ]

12 голосов
/ 15 сентября 2010

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

// Required references, after installing SQLite via Nuget
using System.Data.SQLite;
using System.Data.Common;

// Example usage in code...
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())
  {
    //...
  }
}
7 голосов
/ 15 сентября 2010

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

3 голосов
/ 15 сентября 2010

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

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

1 голос
/ 30 декабря 2013
  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.

...