2015-05-22 3 views
1
ConnectionStringSettings connectionString = ConfigurationManager.ConnectionStrings["test"]; 
SQLiteConnection.CreateFile("MyDatabase.sqlite"); 
var dbFact = DbProviderFactories.GetFactory(connectionString.ProviderName); 

using (var conn = dbFact.CreateConnection()) 
{ 
    conn.Open(); // Exception gets thrown here 
} 

Когда я выполняю этот код, я получаю следующее исключение: |Ошибка при открытии соединения sqlite

An unhandled exception of type 'System.ArgumentException' occurred in System.Data.SQLite.dll 

Additional information: Invalid ConnectionString format, cannot parse: string value to split cannot be null 

Вот моя app.config:

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <configSections> 
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 --> 
    </configSections> 
    <startup> 
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/> 
    </startup> 
    <system.data> 
    <DbProviderFactories> 
     <remove invariant="System.Data.SQLite"/> 
     <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite" 
     type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" /> 
    </DbProviderFactories> 
    </system.data> 
    <connectionStrings> 
    <add name="test" connectionString="Data Source=MyDatabase.sqlite;Version=3" providerName="System.Data.SQLite"/> 
    </connectionStrings> 
</configuration> 

Можете ли вы помочь мне с этим, спасибо заранее.

ответ

0

Оказывается, что мне нужно передать явно строку соединения в связи перед открытием:

ConnectionStringSettings connectionString = ConfigurationManager.ConnectionStrings["test"]; 
SQLiteConnection.CreateFile("MyDatabase.sqlite"); 
var dbFact = DbProviderFactories.GetFactory(connectionString.ProviderName); 

using (var conn = dbFact.CreateConnection()) 
{ 
    conn.ConnectionString = connectionString.ConnectionString; 
    conn.Open(); // Exception gets thrown here 
} 
Смежные вопросы