问题标签 [system.data.sqlite]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
429 浏览

.net - 如何提高 ADO.NET 中大量 INSERT 的速度?

我下载了 Advanced Database Server (ADS) 10.1 的试用版,以及 ARC 和 ADO.NET 提供程序。与 SQLite .NET (http://sqlite.phxsoftware.com/) 相比,我的主要目的是从数百万条记录中了解大量 INSERTS 的性能。

在 ADS 中,30 分钟内加载了 700 万条条目。

在 Sqlite for.NET 中,同样的 700 万个条目在不到 3 分钟的时间内被加载!!

为什么?我可以做些什么来提高 .NET 提供程序的 ADS 速度?

问候 。

编辑

感谢您的建议,在 ADS 代码中我错误地包含了一些索引的创建,当我抑制它时,加载经过的时间是 10 分钟。

让我添加一些示例代码和示例数据(您可以将它们相乘直到获得 700 万个条目)。如果您能找到增强和优化性能的方法,请告诉我。

SYBASE 广告代码:

.NET 的 SQLITE 代码:

以及一些用于测试的数据(乘以 700 万,请包括标题行):

1030|8030|ADAJKIUSD66K|||16|ALMACEN DANSA PRUZ TESULARES|4|BANDA PRUZ|ADA-KI-SD66K ADAPTADOR MAIDIUM SD-66K 1030|8030|BAT-KI-BPA101|||16|ALMACEN LANTA CRUZ TESULARES|5 |BANDA PRUZ|BAT-KI-BPA101 BATTERIESAPS 1020|8020|TARGESA/P_PC-GC79|||17|PERRITORIAL CENTER|9|POCHASALTA|TARGESA/P_PC-GC79 TARGESA UNIVERSAL P PC GPRS Y WL 1010|8010|TARJETA/P_PC -GC79|||1014|TERRITORIES NORTH 1|5|PATPAZ|TARGESA/P_PC-GC79 TARJETA UNIVERSAL P PC GPRS Y WL 1060|8060|TARJETA/P_PC-GC79|||1095|ALMACEN SUNY|1|TRONOSAD|TARGESA/ P_PC-GC79 TARGESA UNIVERSAL P PC GPRS Y WL

问候。

问候。

0 投票
1 回答
1666 浏览

ado.net - 在 IronPython 中添加 System.Data.SQLite 引用

我正在尝试使用 clr.AddReference 将 sqlite3 功能添加到我正在编写的简单 IronPython 程序中;但每次我尝试引用 System.Data.SQLite 我都会收到此错误:

Traceback(最近一次调用最后一次):文件“”,第 1 行,在 IOError:System.IO.IOException:无法
在 Microsoft.Scripting.Actions.Calls.MethodCandidate.Caller.Call 中添加对程序集 System.Data.SQLite 的引用( Object[] args, Boolean&shouldOptimize)
at IronPython.Runtime.Types.BuiltinFunction.BuiltinFunctionCaller 4.Run(InterpretedFrame frame) at Microsoft.Scripting.Interpreter.Interpreter.Run(InterpretedFrame frame)2.Call1(CallSite site, CodeContext context, TFuncType func, T0 arg0)
at System.Dynamic.UpdateDelegates.UpdateAndExecute3[T0,T1,T2,TRet](CallSite site, T0 arg0, T1 arg1, T2 arg2)
at CallSite.Target(Closure , CallSite , CodeContext , Object , Object )
at IronPython.Compiler.Ast.CallExpression.Invoke1Instruction.Run(InterpretedFrame frame)
at Microsoft.Scripting.Interpreter.Interpreter.Run(InterpretedFrame frame)
at Microsoft.Scripting.Interpreter.LightLambda.Run2[T0,T1,TRet](T0 arg0, T1 arg1)
at IronPython.Runtime.FunctionCode.Call(CodeContext context)
at IronPython.Runtime.Operations.PythonOps.QualifiedExec(CodeContext context, Object code, PythonDictionary globals, Object locals)
at Microsoft.Scripting.Interpreter.ActionCallInstruction

我一直在主要测试解释器中的导入和引用,这些是我测试的行:

import sys
import clr
sys.path.append("C:/Program Files (x86)/SQLite.NET/bin")
clr.AddReference("System.Data.SQLite")

输入 clr.AddReference 行后发生错误。如何正确添加 System.Data.SQLite?

0 投票
1 回答
691 浏览

c# - 跨应用程序的 C# Sqlite 函数

是否可以在应用程序中注册 Sqlite 函数并从另一个应用程序触发它?

例子:

  • 我创建了一个触发器,它在更新后调用 MyFunction()
  • 应用程序 A 使用 SQLiteFunction.Register 注册名为 MyFunction 的函数
  • 应用程序 B 进行更新,触发触发器

当应用程序 B 进行更新时,我收到类似“未定义函数 MyFunction”的错误。有没有办法在“全局”范围内注册函数?

PS:最终目的是使用触发器模拟跨应用程序的事件

谢谢

0 投票
1 回答
759 浏览

sqlite - 我如何知道 db 文件的 sqlite 版本和密码?

我有一个 db 文件,但我不知道它是用 System.Data.Sqlite 还是其他任何东西创建的。而且我也不知道它的密码。

有什么方法可以知道 sqlite 密码和数据库文件版本吗?

0 投票
3 回答
20499 浏览

c# - .NET 中的 SQLite 内存数据库备份

如何备份 SQLite 内存数据库?我在我的 Windows 应用程序中创建数据库。我想在关闭应用程序时进行数据库备份。

0 投票
3 回答
11636 浏览

c# - 当我从'int'类型的sqlite列中选择时,我可以转换为.net int,但是当我从'integer'列中选择时,我不能

我正在使用 System.Data.SQLite,从列类型为“整数”的 sqlite 数据库表中进行选择,并且当我执行以下操作时:

它失败。问题不在于该值为空;该列不可为空。如果我将列的数据类型更改为“int”,那么它工作正常。列中的值为'2'、'3'、'4'等;没什么大不了的。

任何人都知道这是否是预期的行为?

0 投票
3 回答
6790 浏览

c# - 如何在 SQLite 中默认启用外键级联删除?

SQLite v3.7.5

有没有办法在默认情况下启用SQLite 外键?cascade delete给定以下示例:

我能够启用级联删除的唯一方法是PRAGMA foreign_keys = true在事务之前执行命令:

是否可以配置数据库级别的设置,而不必在每次事务之前调用 pragma 命令?

我已经看到了启用级联删除的触发器,但我正在寻找可以简单地PRAGMA foreign_keys = true在数据库级别启用的东西。

0 投票
1 回答
1943 浏览

vb.net - 在 While 循环中尝试 Catch

我有一个 SQLite 数据库,我希望从中读取记录并针对每条记录执行一段代码。

我正在使用带有 Try Catch INSIDE 的 While 循环...

代码如下:-

问题是,一旦进入 Try 块并捕获了一个 ex,while 循环的下一次迭代就会失败,因为似乎在捕获 ex 的那一刻,与 SQLite 数据库的连接就关闭了,尽管连接属性表明它开了。

有任何想法吗 ???

0 投票
0 回答
413 浏览

system.data.sqlite - 使用 System.Data.Sqlite 获取未提交的事务 Sqlite

我正在尝试使用 System.Data.Sqlite 库获取 SQLite 数据库中未提交记录的计数。到目前为止,我的研究一直指向使用 PRAGMA read_committed,但在提交记录之前,我的计数始终为 0。有小费吗?

0 投票
3 回答
551 浏览

sqlite - 在哪里下载 System.Data.SQLite 最新版本的二进制文件?

新手在这里,对不起,如果这是一个明显的问题。

我以前从未使用过 SQLite。根据这个页面,最新版本的 System.Data.SQLite 应该从http://system.data.sqlite.org/下载。

但是我找不到下载链接。我应该下载源代码然后在我的本地机器上编译它吗?如果是这样,你能告诉我在哪里下载源代码吗?抱歉,我不知道“树枝”、“树叶”、“树干”是什么意思。

谢谢!