经过一段时间的努力来解决这个问题后,我终于决定在这里发帖提问.几天前我在sqlite论坛上发布了同样的问题,但该网站目前无法使用. http://sqlite.phxsoftware.com/forums/t/2669.aspx
所以,这里有一个问题:我有64位计算机和64位操作系统.一位同事拥有64位计算机和32位操作系统.我们开发了一个Web应用程序,它从服务器中提取大量数据并将其保存在内存SQLite数据库中,因此一切都可以运行得更快.现在我们在两台机器上使用32位SQLite.dll.但是我们想切换到64位dll(并增加我们可以使用和存储的数据量).我从http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki下载了以下 文件:sqlite-dotnet-x64-1007300.exe并在我的机器上安装了.我已将System.Data.Sqlite.dll和System.Data.Sqlite.Linq.dll放入lib文件夹,而我已将Sqlite.Interop.dll复制到bin\Debug文件夹中.当我使用Any CPU调试应用程序时,一切都在我的机器上工作正常,但是,我的同事正在收到错误.
我想使用64位dll并使用任何CPU构建exe文件,如果系统是32或64,请不要担心.这可能吗?如果这是我应该做的事情呢?提前致谢!
PS我们使用C# - Visual Studio 2008 3.5 SP1
我试图将我的数据存储在内存中
这就是我现在所拥有的
//sq lite driver
Class.forName("org.sqlite.JDBC");
//database path, if it's new data base it will be created in project folder
con = DriverManager.getConnection("jdbc:sqlite:mydb.db");
Statement stat = con.createStatement();
stat.executeUpdate("drop table if exists weights");
//creating table
stat.executeUpdate("create table weights(id integer,"
+ "firstName varchar(30)," + "age INT," + "sex varchar(15),"
+ "weight INT," + "height INT,"
+ "idealweight INT, primary key (id));");
Run Code Online (Sandbox Code Playgroud)
现在我应该把这个语句[":memory:"]放在内存中存储我的数据,数据应该保存直到我删除它.
谢谢
我正在测试内存模式下的H2 DB.我建立了一个连接
h2Con = DriverManager.getConnection(
"jdbc:h2:mem:db1", "SA", "");
Run Code Online (Sandbox Code Playgroud)
我想用dbunit进行一些导入并设置dbUnits数据库连接
IDataBaseConnection dBUnitConnection = new DatabaseConnection(h2con);
Run Code Online (Sandbox Code Playgroud)
以及我想稍后查询的导入
所以我的问题是,在内存模式下,何时可以关闭连接?Normaly我做这样的事情
try{
//some sql query
}catch{
//error handling
}finally{
if(connection!=null)
connection.close()
}
Run Code Online (Sandbox Code Playgroud)
但是在内存中,如果连接关闭,我会丢失数据?所以它应该保持开放,直到我结束我的程序?
在LokiJS中,我尝试了一个非常简单的查询(我假设是AND):
var dbRes = recsCol.find({'format':format, 'cardId':-1});
Run Code Online (Sandbox Code Playgroud)
插入一些数据后
recsCol.insert({format:format, cardId:id, recCardId:key, amount:item[key]});
Run Code Online (Sandbox Code Playgroud)
不包含-1的cardId.
查询仍会产生结果.这是预期的行为吗?如果是这样,我怎样才能使字段完全匹配,以便在这种情况下我不会得到结果?
我是 Aerospike 的新手...!
当我尝试将记录插入数据库时,它显示超时错误,例如...
aql> INSERT INTO test.student (pk, emp_id, name, age) VALUES ('k003', 'BP003', 'Sai', 25)
Error: (9) Client timeout: timeout=1000 iterations=1 failedNodes=0 failedConns=0
Run Code Online (Sandbox Code Playgroud)
还有一件事情....
我关闭我的wifi,然后运行相同的命令,当时它没有显示错误并且命令成功运行。
aql> INSERT INTO test.student (pk, emp_id, name, age) VALUES ('k003', 'BP003', 'Sai', 25)
OK, 1 record affected.
Run Code Online (Sandbox Code Playgroud)
所以这是什么意思...?
谁能帮我解决这个问题.....!
我的API路由之一使用了原始sql merge into命令来进行原子upsert操作,并且在我的自动化测试中,TestServer使用内存db提供程序实例。它给我一个错误,可能是因为内存提供程序不支持运行原始sql命令-是这样吗?如果没有,我如何使它工作?
这是Startup测试的课程:
// In memory DB for testing
services.AddDbContext<MyContext>(optionsBuilder => optionsBuilder.UseInMemoryDatabase("stuff"));
services.AddDbContext<MyStatusContext>(optionsBuilder => optionsBuilder.UseInMemoryDatabase("status"));
services.AddDbContext<MyUserRolesContext>(optionsBuilder => optionsBuilder.UseInMemoryDatabase("userroles"));
Run Code Online (Sandbox Code Playgroud)
API代码符合您的期望:
var count = await context.Database.ExecuteSqlCommandAsync(@"merge into ...", default(CancellationToken), ...);
return count;
Run Code Online (Sandbox Code Playgroud)
这段代码在实际数据库中的生产环境中运行良好,但是我无法在测试中与内存提供程序一起使用。我有什么希望吗?自定义sql脚本的通常测试策略是什么?
我正在关注着名的Angular教程,英雄之旅,但我正在努力迈出一步.
在第六个课程HTTP上,我们使用了一个模仿API调用API的工具.
我想我已经遵循了所有步骤,到目前为止,它已经说明了以下内容:
刷新浏览器.英雄数据应该从模拟服务器成功加载.
但我可能错过了一些东西:http调用都给出了错误的http 500标题Object(...) is not a function.
我错过了创建路线的一些方法吗?我觉得inMemory wep API似乎不需要路由,这似乎很奇怪.
我的测试代码可以在这里找到:https://github.com/MarcBrillault/tourOfHeroes/tree/StackOverflow
我的问题的上下文是,我想为我的应用程序创建一些单元测试来执行一些特定于关系的代码,所以我不能使用.UseInMemoryDatabase(databaseName: dbContextName)我将其更改为的标准.UseSqlite("DataSource=:memory:")来解决这个问题。
但现在我得到:
SqliteException:SQLite 错误 1:“没有这样的表:ControlGroup”。
我怎样才能解决这个问题?
我们在Ubuntu 12.04上使用Django 1.4和PostgreSQL.我们有很多测试,问题是运行测试非常慢,我认为因为每次测试都是从头开始创建数据库.我希望通过在内存中使用数据库(而不是硬盘)来加快测试速度.我该怎么做?你有任何链接或教程吗?
django postgresql django-testing in-memory-database django-tests
sqlite ×3
c# ×2
nosql ×2
sql ×2
64-bit ×1
aerospike ×1
angular ×1
angular-cli ×1
clojure ×1
connection ×1
database ×1
django ×1
django-tests ×1
dll ×1
h2 ×1
java ×1
javascript ×1
lokijs ×1
postgresql ×1