问题标签 [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.
.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
问候。
问候。
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?
c# - 跨应用程序的 C# Sqlite 函数
是否可以在应用程序中注册 Sqlite 函数并从另一个应用程序触发它?
例子:
- 我创建了一个触发器,它在更新后调用 MyFunction()
- 应用程序 A 使用 SQLiteFunction.Register 注册名为 MyFunction 的函数
- 应用程序 B 进行更新,触发触发器
当应用程序 B 进行更新时,我收到类似“未定义函数 MyFunction”的错误。有没有办法在“全局”范围内注册函数?
PS:最终目的是使用触发器模拟跨应用程序的事件
谢谢
sqlite - 我如何知道 db 文件的 sqlite 版本和密码?
我有一个 db 文件,但我不知道它是用 System.Data.Sqlite 还是其他任何东西创建的。而且我也不知道它的密码。
有什么方法可以知道 sqlite 密码和数据库文件版本吗?
c# - .NET 中的 SQLite 内存数据库备份
如何备份 SQLite 内存数据库?我在我的 Windows 应用程序中创建数据库。我想在关闭应用程序时进行数据库备份。
c# - 当我从'int'类型的sqlite列中选择时,我可以转换为.net int,但是当我从'integer'列中选择时,我不能
我正在使用 System.Data.SQLite,从列类型为“整数”的 sqlite 数据库表中进行选择,并且当我执行以下操作时:
它失败。问题不在于该值为空;该列不可为空。如果我将列的数据类型更改为“int”,那么它工作正常。列中的值为'2'、'3'、'4'等;没什么大不了的。
任何人都知道这是否是预期的行为?
c# - 如何在 SQLite 中默认启用外键级联删除?
SQLite v3.7.5
有没有办法在默认情况下启用SQLite 外键?cascade delete
给定以下示例:
我能够启用级联删除的唯一方法是PRAGMA foreign_keys = true
在事务之前执行命令:
是否可以配置数据库级别的设置,而不必在每次事务之前调用 pragma 命令?
我已经看到了启用级联删除的触发器,但我正在寻找可以简单地PRAGMA foreign_keys = true
在数据库级别启用的东西。
vb.net - 在 While 循环中尝试 Catch
我有一个 SQLite 数据库,我希望从中读取记录并针对每条记录执行一段代码。
我正在使用带有 Try Catch INSIDE 的 While 循环...
代码如下:-
问题是,一旦进入 Try 块并捕获了一个 ex,while 循环的下一次迭代就会失败,因为似乎在捕获 ex 的那一刻,与 SQLite 数据库的连接就关闭了,尽管连接属性表明它开了。
有任何想法吗 ???
system.data.sqlite - 使用 System.Data.Sqlite 获取未提交的事务 Sqlite
我正在尝试使用 System.Data.Sqlite 库获取 SQLite 数据库中未提交记录的计数。到目前为止,我的研究一直指向使用 PRAGMA read_committed,但在提交记录之前,我的计数始终为 0。有小费吗?
sqlite - 在哪里下载 System.Data.SQLite 最新版本的二进制文件?
新手在这里,对不起,如果这是一个明显的问题。
我以前从未使用过 SQLite。根据这个页面,最新版本的 System.Data.SQLite 应该从http://system.data.sqlite.org/下载。
但是我找不到下载链接。我应该下载源代码然后在我的本地机器上编译它吗?如果是这样,你能告诉我在哪里下载源代码吗?抱歉,我不知道“树枝”、“树叶”、“树干”是什么意思。
谢谢!