我目前有一个相对较小的(4或5个表,5000行)MySQL数据库,我想转换为sqlite数据库.由于我可能不得不多次这样做,如果有人能推荐任何有用的工具,或者至少任何易于复制的方法,我将不胜感激.
(我对所涉及的数据库/机器有完全的管理员访问权限.)
www.sqlite.org上的下载页面似乎只有当前版本的链接,我想获得以前的版本.我看不到网站上历史版本的任何明显链接(除非我遗漏了一些明显的东西),似乎没有一个sourceforge项目.
如果存在这样的事情,有人能指出我在旧SQLite源版本的存档吗?
奈杰尔.
我想用android的SQLiteDatabase类的本机更新方法更新我的sql lite数据库.
ContentValues dataToInsert = new ContentValues();
dataToInsert.put("name", "flo");
dataToInsert.put("location", "flotown");
String where = "id" + "=" + id;
try{
db.update(DATABASE_TABLE, dataToInsert, where, null);
}
catch (Exception e){
String error = e.getMessage().toString();
}
Run Code Online (Sandbox Code Playgroud)
但是我得到以下错误:android.database.sqlite.SQLiteException:near"15":语法错误:,同时编译:UPDATE mytable SET location = ?, name =?WHERE id = 2010-09-21 15:05:36.995
我不知道应该是什么问题.不知何故,值不会到达sql语句.我使用insert方法做的几乎一样,并且工作得非常好.
很多,弗洛里安
在使用 Android Room 时我应该考虑哪些例外情况。从我的研究中,我发现只有一种例外情况可能发生。
这也是当你有Single<T>一个返回类型并且你有一个空的回报时。除此之外,我找不到任何其他可能引发异常的情况。
当然,如果你有一些逻辑上不正确的实现,可能会有一些例外,比如
MigrationOnConflictStrategy插入时不执行allowMainThreadQueries()我做了一些研究并尝试了几乎所有可能的情况,主要是 RxJava 返回类型,我看到了上面提到的一个异常,就是这样。
这是我运行的测试
我想确保我对每个可能的场景都有实现,并且没有一些异常和意外崩溃。我在想SQLite可能会发生异常的情况,但我相信它已经包裹在 Room 中并且会处理。(没有把握)
你能给出可能发生的任何其他可能的例外吗?
我期待这是一个我忽略的基本语法错误,但我无法弄清楚.
在PHP脚本中,我不断收到以下错误.
Parse error: syntax error, unexpected T_VARIABLE, expecting T_FUNCTION in [path]/scripts/users/database_connection.php on line 4
Run Code Online (Sandbox Code Playgroud)
当我使用a调用连接到数据库的脚本时会发生这种情况include_once().我将我的脚本删除到最基本的代码(留下其他代码所需的代码),它仍然在调用此错误.
<?php
class UserDatabaseConnection
{
$connection = sqlite_open("[path]/data/users.sqlite", 0666);
public function lookupUser($username)
{
// rest of my code...
}
}
$udb = new UserDatabaseConnection;
?>
Run Code Online (Sandbox Code Playgroud)
我已经挣扎了一段时间,只是想知道是否有其他人可以发现我出错的地方.
在sqlite3 faq中,提到了一个为null值提供的整数主键会自动增加.但这不会发生在我身上.
复制,sqlite3中的表,CREATE TABLE dummy( serial_num INTEGER PRIMARY KEY, name TEXT);并使用python填充它,
import sqlite3 as lite
con = lite.connect('some.db')
cur=con.cursor()
data = "someone's name"
cur.execute("INSERT INTO dummy VALUES(NULL, ?)", data)
con.commit()
Run Code Online (Sandbox Code Playgroud)
第一个属性serial_num显示为空白,而name属性正常.当我这样做时,SELECT serial_num FROM dummy我只是得到一堆空白.我究竟做错了什么?
我希望有一个人可以帮助我.我正在开发一个与SQLite数据库连接的简单应用程序.以下是我的连接代码:
try {
Connection con = DriverManager.getConnection("jdbc:sqlite:myDB.sqlite");
PreparedStatement pstm = con.prepareStatement("insert into hell(username,pssword) " +
"values ('"+tfUname.getText()+"','"+tfUpass.getText()+"')");
pstm.close();
con.close();
JOptionPane.showMessageDialog(null,"Congrats, you have been registered succesfully");
RegisterWindow rw = new RegisterWindow();
rw.setVisible(false);
pack();
dispose();
} catch(SQLException ex) {
setTitle(ex.toString());
}
Run Code Online (Sandbox Code Playgroud)
这只是一个在数据库中加载用户名和密码的窗口.我遇到的问题是当我点击按钮时出现以下异常:
"java.sql.SQLException: No suitable driver found for jdbc:sqlite:C\\LoginJava2\\myDB.sqlite"
Run Code Online (Sandbox Code Playgroud)
(我找到了一个关于如何用Java连接到SQLite数据库的例子,我发现这个例子效果很好)
这个程序我在窗口构建器(eclipse)中这样做.我使用的是我在我找到的示例中使用的相同驱动程序.我不知道是否必须使用其他驱动程序.事实上,我尝试过不同的驱动程序,但仍然会显示该消息.
在这样的数据库管理系统如Oracle或PostgreSQL存在用于从数据库中生成XML数据的功能:http://docs.oracle.com/cd/B19306_01/appdev.102/b14259/xdb13gen.htm或HTTP://www.postgresql.组织/文档/电流/静态/功能,xml.html#AEN15086
我的问题是SQLite数据库中有类似的东西吗?可能有一些额外的工具,库甚至标准工具用于此目的?
我有一个项目,我刚刚使用nuget更新.这个更新的实体框架从6.1到6.1.1,它将sqlite更新为1.0.93.我想从我最新的数据库更新我的模型.我做了以下步骤:1)数据库模型2)选择sqlite数据库3)生成
生成后,我收到以下错误消息,如下所示.我安装了1.0.93设计时组件.有谁知道究竟是什么导致了这个错误.项目引用和版本都与上面显示的版本匹配.
错误信息:
您的项目引用了最新的实体框架; 但是,无法为您的数据连接找到与此版本兼容的Entity Framework数据库提供程序.
更新:
我最终使用包管理器控制台手动安装6.1.0
Install-Package EntityFramework -Version 6.1.0
然后在我的csporj文件中替换
包\ EntityFramework.6.1.1
同
包\ EntityFramework.6.1.0
我尝试从数据库和代码优先从数据库创建EF Designer但我仍然得到相同的错误.
UPDATE
我已按照汤姆提供的指示行事,感谢您抽出宝贵时间深度回应,感谢您的光临.但我不能让实体框架设计师使用SQLite 1.0.93.我发现了什么:
1)当我在Tom描述的工具菜单中添加SQLite数据源时,我看到了SQLite数据提供程序.

2)但是当我重新启动visual studio时,数据源没有连接

3)数据源可以刷新,重启后有效

4)添加新数据项但SQLite未列为提供者

我已经仔细检查了注册表,EF6被附加到不变名称,SQLite dll在GAC中注册.我会试着看看还能找到什么但是在这一点上我不知道该找什么.作为旁注,我尝试过dotConnect,但它对EF 6.1.1无效.
更新2
有没有人知道Entity Framework Designer是否有一个日志选项来找出可能发生的事情?
我想在我的web api项目中使用sqlite实体框架,但它始终无法正常工作,
这是我的发展环境.
1.Visual studio 2013,.net framework 4.5
sqlite包版本是1.0.97,我安装在下面的包中
system.data.sqlite,system.data.sqlite.ef6,system.data.sqlite.linq
EntityFramework是6.1.3
这是我得到的例外
无法确定"System.Data.SQLite.SQLiteFactory"类型的提供程序工厂的提供程序名称.确保在应用程序配置中安装或注册了ADO.NET提供程序
这是我的webconfig
<configuration>
<configSections>
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
</configSections>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters>
<parameter value="mssqllocaldb" />
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="System.Data.SQLite.EF6" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6" /> <!--type="System.Data.SQLite.EF6.SQLiteProviderServices-->
</providers>
</entityFramework>
<system.data>
<DbProviderFactories>
<remove invariant="System.Data.SQLite.EF6" />
<add name="SQLite Data Provider (Entity Framework 6)" invariant="System.Data.SQLite.EF6" description=".NET Framework Data Provider for SQLite (Entity Framework 6)" type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6" …Run Code Online (Sandbox Code Playgroud)c# sqlite entity-framework entity-framework-6 visual-studio-2013