标签: sqlite

将mysql数据库转换为sqlite数据库的最佳方法是什么?

我目前有一个相对较小的(4或5个表,5000行)MySQL数据库,我想转换为sqlite数据库.由于我可能不得不多次这样做,如果有人能推荐任何有用的工具,或者至少任何易于复制的方法,我将不胜感激.

(我对所涉及的数据库/机器有完全的管理员访问权限.)

mysql sql database sqlite

21
推荐指数
2
解决办法
2371
查看次数

哪里可以找到旧SQLite版本的源档案?

www.sqlite.org上的下载页面似乎只有当前版本的链接,我想获得以前的版本.我看不到网站上历史版本的任何明显链接(除非我遗漏了一些明显的东西),似乎没有一个sourceforge项目.

如果存在这样的事情,有人能指出我在旧SQLite源版本的存档吗?

奈杰尔.

sqlite

21
推荐指数
3
解决办法
1万
查看次数

使用ContentValues和update-method更新sql数据库

我想用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方法做的几乎一样,并且工作得非常好.

很多,弗洛里安

database sqlite android

21
推荐指数
1
解决办法
5万
查看次数

Android 房间例外

在使用 Android Room 时我应该考虑哪些例外情况。从我的研究中,我发现只有一种例外情况可能发生。

房间例外

这也是当你有Single<T>一个返回类型并且你有一个空的回报时。除此之外,我找不到任何其他可能引发异常的情况。

当然,如果你有一些逻辑上不正确的实现,可能会有一些例外,比如

  • 编辑方案,但未实施 Migration
  • OnConflictStrategy插入时不执行
  • 在主线程上运行房间,但不允许它 allowMainThreadQueries()

我做了一些研究并尝试了几乎所有可能的情况,主要是 RxJava 返回类型,我看到了上面提到的一个异常,就是这样。

是我运行的测试

我想确保我对每个可能的场景都有实现,并且没有一些异常和意外崩溃。我在想SQLite可能会发生异常的情况,但我相信它已经包裹在 Room 中并且会处理。(没有把握)

你能给出可能发生的任何其他可能的例外吗?

sqlite android reactive-programming rx-java android-room

21
推荐指数
1
解决办法
2561
查看次数

意外的T_VARIABLE,期待T_FUNCTION

我期待这是一个我忽略的基本语法错误,但我无法弄清楚.

在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)

我已经挣扎了一段时间,只是想知道是否有其他人可以发现我出错的地方.

php sqlite syntax-error

20
推荐指数
4
解决办法
11万
查看次数

在sqlite3中没有自动增量的Integer主键

在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我只是得到一堆空白.我究竟做错了什么?

python sqlite

20
推荐指数
1
解决办法
1万
查看次数

找不到合适的驱动程序(SQLite)

我希望有一个人可以帮助我.我正在开发一个与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)中这样做.我使用的是我在我找到的示例中使用的相同驱动程序.我不知道是否必须使用其他驱动程序.事实上,我尝试过不同的驱动程序,但仍然会显示该消息.

java eclipse sqlite windowbuilder

20
推荐指数
3
解决办法
3万
查看次数

我可以从SQLite数据库生成XML数据吗?

在这样的数据库管理系统如Oracle或PostgreSQL存在用于从数据库中生成XML数据的功能:http://docs.oracle.com/cd/B19306_01/appdev.102/b14259/xdb13gen.htmHTTP://www.postgresql.组织/文档/电流/静态/功能,xml.html#AEN15086

我的问题是SQLite数据库中有类似的东西吗?可能有一些额外的工具,库甚至标准工具用于此目的?

xml sql sqlite xslt

20
推荐指数
1
解决办法
5006
查看次数

数据库首先使用system.data.sqlite 1.0.93创建实体框架6.1.1模型

我有一个项目,我刚刚使用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未列为提供者

SQLite未列为提供者

我已经仔细检查了注册表,EF6被附加到不变名称,SQLite dll在GAC中注册.我会试着看看还能找到什么但是在这一点上我不知道该找什么.作为旁注,我尝试过dotConnect,但它对EF 6.1.1无效.

更新2

有没有人知道Entity Framework Designer是否有一个日志选项来找出可能发生的事情?

sqlite entity-framework

20
推荐指数
3
解决办法
3万
查看次数

无法确定"System.Data.Sqlite.SqliteFactory"类型的提供程序工厂的提供程序名称

我想在我的web api项目中使用sqlite实体框架,但它始终无法正常工作,

这是我的发展环境.

1.Visual studio 2013,.net framework 4.5

  1. sqlite包版本是1.0.97,我安装在下面的包中

    system.data.sqlite,system.data.sqlite.ef6,system.data.sqlite.linq

  2. 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

20
推荐指数
2
解决办法
2万
查看次数