Tag: sqlite

无法使用spring.net在asp.net mvc3应用程序中打开数据库(sqlite)

我正在编写一个asp.net mvc3 Web应用程序。 我想使用sqlite数据库。 不幸的是,我得到一个SqliteException,说“无法打开数据库”。 春季版:1.3.2 NHibernate版本:3.2 DbProvider / ConnectionString的: 堆栈跟踪: bei System.Data.SQLite.SQLite3.Open(String strFilename, SQLiteOpenFlagsEnum flags, Int32 maxPoolSize, Boolean usePool) in c:\dev\sqlite\dotnet\System.Data.SQLite\SQLite3.cs:Zeile 239. bei System.Data.SQLite.SQLiteConnection.Open() in c:\dev\sqlite\dotnet\System.Data.SQLite\SQLiteConnection.cs:Zeile 1022. bei NHibernate.Connection.DriverConnectionProvider.GetConnection() 我甚至尝试将DataSource设置为绝对路径( C:\ temp \ database \ Employees.db3 ),但抛出相同的SqLiteException。 更新: 错误页面上显示的Stacktrace: [SQLiteException (0x80004005): Unable to open the database file] System.Data.SQLite.SQLite3.Open(String strFilename, SQLiteOpenFlagsEnum flags, Int32 maxPoolSize, Boolean […]

为什么在将LINite Nuget Package添加到LINQPad时会出现DllNotFoundException?

我已将System.Data.SQLite.Core NuGet包添加到我的LINQPad 5 Query(Premium)中,然后尝试执行以下操作: new SQLiteConnection(“:memory:”).Dump(); 但我得到: DllNotFoundException:无法加载DLL’SQLite.Interop.dll’:找不到指定的模块。 (HRESULTexception:0x8007007E) 如何判断LINQPad在哪里可以找到SQLite Native DLL? 请注意我不想使用IQ驱动程序。

避免在同一个DbContext上同时运行多个任务的entity framework错误

我在一个运行带有Sqlite的Entity Framework Core的Dotnet Core项目中有一个WebApi控制器。 动作中的此代码会出现错误: var t1 = _dbContext.Awesome.FirstOrDefaultAsync(a => […]); var t2 = _dbContext.Bazinga.FirstOrDefaultAsync(b => […]); var r1 = await t1; var r2 = await t2; 错误是: Microsoft.EntityFrameworkCore.Query.RelationalQueryCompilationContextFactory:错误:迭代查询结果时数据库中发生exception。 System.ObjectDisposedException:已关闭安全句柄 Microsoft.EntityFrameworkCore.Query.RelationalQueryCompilationContextFactory:错误:迭代查询结果时数据库中发生exception。 System.InvalidOperationException:只能在连接打开时调用ExecuteReader。 对我来说这两个错误都表明DbContext会发生一些事情,比如过早处置(虽然不是DbContext本身)。 DbContext是在控制器构造函数中使用Dotnet Core的管道“通常的方式”注入的,配置如下所示(来自我的Startup.cs ConfigureServices方法体): services.AddDbContext(options => options.UseSqlite(connectionString)); 如果我将上面的错误产生代码改为: var r1 = await _dbContext.Awesome.FirstOrDefaultAsync(a => […]); var r2 = await _dbContext.Bazinga.FirstOrDefaultAsync(b => […]); …我没有看到提到的错误,因此得出的结论是在我的DbContext的同一个实例上同时运行多个任务(如上所述注入)是导致问题的原因。 […]

SQLite LINQ提供程序数据上下文

我想让LINQ在C#.NET中使用SQLite 我下载了http://system.data.sqlite.org/downloads/1.0.92.0/sqlite-netFx451-setup-bundle-x86-2013-1.0.92.0.exe ,它有一个程序集: System.Data.SQLite.Linq.dll 如何让LINQ提供程序工作? 如何设置数据上下文? 我看过许多Google搜索结果都无济于事。

如何使用C#访问SQLite?

我正在尝试使用C#/ ASP.NET以编程方式连接到我的Sqlite数据库: 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(); } 但是exception上升(在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 […]

每个线程一个SQLiteConnection?

我在system.data.sqlite.org上使用SQLite 我们需要从许multithreading访问数据库(出于各种原因)。 我已经阅读了很多关于sqlite线程安全function的内容(默认的同步访问模式对我来说很好)。 我想知道是否可以简单地打开每个线程的连接。 这样的事情可能吗? 我真的不关心竞争条件(请求尚未插入的东西)。 我只对每个线程使用一个SQLiteConnection对象访问数据这一事实感兴趣。

SQLite尝试编写只读数据库错误

我有一个填充SQLite数据库的控制台应用程序。 当应用程序自行运行时,我不会收到任何错误。 如果我运行应用程序的多个实例,其中每个应用程序都在自己的文件夹中,并且每个应用程序都填充自己的数据库,我偶尔会遇到以下exception: System.Data.SQLite.SQLiteException (0x80004005): Attempt to write a read-only database attempt to write a readonly database at System.Data.SQLite.SQLite3.Reset(SQLiteStatement stmt) at System.Data.SQLite.SQLite3.Step(SQLiteStatement stmt) at System.Data.SQLite.SQLiteDataReader.NextResult() at System.Data.SQLite.SQLiteDataReader..ctor(SQLiteCommand cmd, CommandBehavior behave) at System.Data.SQLite.SQLiteCommand.ExecuteReader(CommandBehavior behavior) at System.Data.SQLite.SQLiteCommand.ExecuteNonQuery() 我知道DB不是只读的,因为它已经将数据写入该数据库。 此外,应用程序继续并将继续将数据填充到该数据库。 当只有一个应用程序实例正在运行时,我没有重现错误。 我已经尝试使用pragma将journal和temp_store都放在内存而不是文件中以防万一在那里可能存在一些争用,但我仍然得到错误。 我总是在同一个方法中得到错误,这是第一次为连接发生插入。 为了大致了解应用程序的作用,它会循环遍历案例,收集有关这些案例的信息(而不是来自SQLite),然后将结果写入SQLite数据库。 我不知道还有什么可以尝试的。 *编辑我也在使用PRAGMA journal_mode = MEMORY。 在将数据插入SQLite数据库时,我首先运行BEGIN语句,然后在END语句之前运行一堆插入。 第一个插入时发生错误。

SQLite net PCL – 简单选择

我在Windows应用程序中使用SQLite,现在我在Xamarin开发一个便携式应用程序,所以我使用插件sqlite net pcl,我很难理解它是如何工作的。 我有一个由以下te创建的表: public class Config { public string IP { get; set; } [SQLite.Net.Attributes.Default(true, “Client 2”)] public string ID { get; set; } } 并创建表: db.CreateTable(); 问题:现在我想在ID列中选择值,然后执行以下操作: List hhid = db.Query(“select ID from Config”,null); 我得到这个例外: “Object reference not set to an instance of an object” 如何进行简单的选择以找到此字段? 谢谢你的提示

在应用更新上升级数据库

我正在开发一个Windowsapp store应用程序,它使用SQLite for Windows Runtime Extension和sqlite-net库将数据存储在本地SQLite数据库中。 此数据库是在Windows.Storage.ApplicationData.Current.LocalFolder.Path路径中创建的。 一切都像它应该的那样,我想我提交时不会有问题。 问题1 但是当我更改应用程序,再次提交并且用户更新它时会发生什么? 数据库文件会被删除吗? 用户会丢失他的数据吗? 问题2 我是否可以使用旧数据库并在应用程序版本之间升级? 我知道在开发Android应用程序时该怎么做但是这个Windows Store Update过程对我来说是新的,我害怕做一些让我无法恢复用户数据的错误。 如果有人已经通过它,请告诉我它是如何工作的。 提前致谢

从DbLinq源代码创建Linq到sqlite dbml

我尝试使用DbLinq创建linq-to-sqlite dbml但是徒劳无功。 每次我得到不同类型的错误。 可能是我错了。 任何人都可以告诉我从Dblinq源代码创建dbml文件的一步一步程序。