更新System.Data.SQLite.dll后,SQLite无效URI - c#

我首先有以下SQLite版本:1.0.77.0(sqlite-netFx40-static-binary-bundle-Win32-2010-1.0.77.0)
而且一切正常。
将System.Data.SQLite.dll更新到版本1.0.82.0(sqlite-netFx40-static-binary-bundle-Win32-2010-1.0.82.0)之后,我现在收到以下消息:

无法打开数据库。连接字符串:'datetimeformat = ISO8601; synchronous = Off; uri =“ file:// C:/Users/username/Documents/data/test.db”; version = 3; journal模式= Truncate;默认隔离级别= ReadCommitted;池= True';错误:'System.InvalidOperationException:无效的连接字符串:无效的URI

我也尝试过file:///而不是file://,但是没有任何运气。

谁能告诉我我的URI有什么问题,为什么它在v1.0.82.0中不再起作用,而在v1.0.77.0中起作用?

http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki
(1.0.82.0 == 3.7.14)

参考方案

获得正确的连接字符串的最佳方法是始终使用SQLiteConnectionStringBuilder类生成它们。

SQLiteConnectionStringBuilder conn_builder = new SQLiteConnectionStringBuilder 
{ 
   DateTimeFormat = SQLiteDateFormats.ISO8601,
   SyncMode = SynchronizationModes.Off,
   Version = 3,
   JournalMode = SQLiteJournalModeEnum.Truncate,
   DefaultIsolationLevel = System.Data.IsolationLevel.ReadCommitted,
   Pooling = true,
   Uri = new Uri(@"c:\tmp\db.sqlite").AbsoluteUri
 };
 string conn_str = conn_builder.ConnectionString;

如果Uri不起作用,请尝试改为设置DataSource(如果使用的是本地文件)。

快速检查表明,在SQLiteConnection.cs中DataSource的评估先于Uri进行,并且优先于此,因此,如果Uri处理中存在错误,使用DataSource可能会绕过它。

SQLite-无法连接数据库 - c#

背景:1.它是一个使用Sqlite databse的C#应用​​程序2.如果不存在db,则此应用程序将创建一个空的db,并将数据从服务器同步到该数据库。问题:1.有时应用程序突然崩溃。似乎有一些未处理的异常。2.即使我重新启动该应用程序,它也立即崩溃。临时解决方案:1.将数据库复制到其他位置,然后删除原始数据库。2.运行该应用程序。没有崩溃。由于不存在任何数…

Spring Data Cassandra的事务管理 - java

我正在使用Spring和Cassandra作为基础数据库。曾提到过弹簧伞项目“ spring data cassandra”。与休眠不同,在这里无法找到如何管理事务。如果您中的某些人已经合并,请共享要包含的事务管理器的详细信息。 参考方案 Cassandra不支持传统(ACID)的事务。在某些特殊情况下,可以通过一些构造来实现事务原子性,例如原子批处理(请参…

SQLite PDO绑定不起作用? - php

我觉得我对此一无所知。我有三个简单的表。一个用户表,一个角色表和一个role_user表,该表以多对多关系连接用户和角色。对于用户角色,我有以下代码:$query = $pdo->prepare('select roles.* from roles inner join role_user on roles.id = role_user.ro…

从Azure Data Factory执行python脚本 - python

有人可以帮我从Azure数据工厂执行python函数吗?我已经将python函数存储在blob中,并且我试图触发同样的功能。但是我无法做到这一点。请协助。第二,我可以从ADF参数化python函数调用吗? python参考方案 您可能会发现ADF中的Azure Function Activity概念,它允许您在Data Factory管道中运行Azure F…

System.Data.OleDb.OleDbException:INSERT INTO语句中的语法错误 - c#

public void RegisterUser(string passw,string uname ,string fname ,string lname, string email) { string strSql = @"INSERT INTO User (passw,uname,fname,lname,email) values (…