标签: sqlite

是否可以在OrmLite中保留类中的枚举字段?

我正在尝试使用OrmLite保留以下类:

public class Field {
    @DatabaseField(id = true)
    public String name;

    @DatabaseField(canBeNull = false)
    public FieldType type;
    ...
}
Run Code Online (Sandbox Code Playgroud)

FieldType是一个public enum.该字段对应type于SQLite中的字符串(不支持枚举).当我尝试使用它时,我得到以下异常:

INFO [main] (SingleConnectionDataSource.java:244) - Established shared JDBC Connection: org.sqlite.Conn@5224ee
Exception in thread "main" org.springframework.beans.factory.BeanInitializationException: Initialization of DAO failed; nested exception is java.lang.IllegalArgumentException: Unknown field class class enums.FieldType for field FieldType:name=type,class=class orm.Field
 at org.springframework.dao.support.DaoSupport.afterPropertiesSet(DaoSupport.java:51)
 at orm.FieldDAO.getInstance(FieldDAO.java:17)
 at orm.Field.fromString(Field.java:23)
 at orm.Field.main(Field.java:38)
Caused by: java.lang.IllegalArgumentException: Unknown field class class enums.FieldType for field FieldType:name=type,class=class orm.Field …
Run Code Online (Sandbox Code Playgroud)

java sqlite ormlite

17
推荐指数
1
解决办法
9520
查看次数

加载datadump时,将Django项目从sqlite3后端切换到postgresql failes

我目前正在使用sqlite3作为我的一个Django项目的数据库.我想改变它以使用postgresql,我想保持所有数据完好无损.

我曾经./manage.py dumpdata > dump.json创建过数据转储,并将我的设置更改为使用postgresql.首先尝试使用空数据库./manage.py loaddata dump.json导致表中存在错误,因此我运行了./manage.py syncdb,然后再次尝试.这导致了这个错误:

Problem installing fixture 'dump.json': Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/django/core/management/commands/loaddata.py", line 163, in handle
    obj.save()
  File "/usr/lib/python2.6/site-packages/django/core/serializers/base.py", line 163, in save
    models.Model.save_base(self.object, raw=True)
  File "/usr/lib/python2.6/site-packages/django/db/models/base.py", line 495, in save_base
    rows = manager.filter(pk=pk_val)._update(values)
  File "/usr/lib/python2.6/site-packages/django/db/models/query.py", line 448, in _update
    return query.execute_sql(None)
  File "/usr/lib/python2.6/site-packages/django/db/models/sql/subqueries.py", line 124, in execute_sql
    cursor = super(UpdateQuery, self).execute_sql(result_type)
  File "/usr/lib/python2.6/site-packages/django/db/models/sql/query.py", line 2347, in execute_sql
    cursor.execute(sql, params)
  File "/usr/lib/python2.6/site-packages/django/db/backends/util.py", line 19, in execute
    return …
Run Code Online (Sandbox Code Playgroud)

sqlite django postgresql

17
推荐指数
1
解决办法
7748
查看次数

在SQL Server Express和SQL Lite之间进行选择

我有一个项目要求为应用程序选择一个轻型数据库.

需要在SQL Server Express Edition或SQLLite之间进行选择.哪一个是高效可靠的.我应该在Windows 7/Windows 2008 R2下运行它.我是数据库编程的新手.如果您可以分享一些信息,将会很有帮助

  1. 可靠性
  2. 稳定性
  3. 大小限制
  4. 内存消耗
  5. 性能

sql-server sqlite

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

打印对象如何产生与str()和repr()不同的输出?

我在解释器上测试了一些代码,我注意到了这个sqlite3.Row类的一些意外行为.

我的理解是print obj总是得到相同的结果print str(obj),并且obj在解释器中输入将得到相同的结果print repr(obj),但是不是这样的情况sqlite3.Row:

>>> print row       # the row object prints like a tuple
(u'string',)
>>> print str(row)  # why wouldn't this match the output from above?
<sqlite3.Row object at 0xa19a450>

>>> row             # usually this would be the repr for an object
(u'string',)
>>> print repr(row) # but repr(row) is something different as well!
<sqlite3.Row object at 0xa19a450>
Run Code Online (Sandbox Code Playgroud)

我认为sqlite3.Row必须是它的子类tuple,但我仍然不明白幕后可能会导致这种行为的是什么.有谁能解释一下?

这是在Python 2.5.1上测试的,不确定其他Python版本的行为是否相同. …

python sqlite

17
推荐指数
1
解决办法
922
查看次数

sqlite中的错误"DROP TABLE IF EXISTS"android

所以我在我的DBAdapter类中有一个问题,它只是在我尝试打开数据库时崩溃:从LogCat我想问题是在onUpgrade函数中:

 public void onUpgrade(SQLiteDatabase db, int oldVersion,
 int newVersion)
  {
       Log.w("SingleDBAdapter", "Upgrading database from version " + oldVersion
       + " to "
       + newVersion + ", which will destroy all old data");
       db.execSQL("DROP TABLE IF EXISTS "+DATABASE_TABLE);
       onCreate(db);
  }
 }
Run Code Online (Sandbox Code Playgroud)

这是错误:

07-28 11:32:49.443: E/Database(1244): Failure 1 (near "122": syntax error) on 0x2435b0 when preparing 'DROP TABLE IF EXISTS 122'.
07-28 11:32:49.463: D/AndroidRuntime(1244): Shutting down VM
07-28 11:32:49.463: W/dalvikvm(1244): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
07-28 11:32:49.473: E/AndroidRuntime(1244): FATAL EXCEPTION: …
Run Code Online (Sandbox Code Playgroud)

sql database sqlite android drop-table

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

Android上的随机SQLiteConnectionPool错误.怎么避免?

最近我开始在我的应用程序中出现以下错误.这不是在任何特定的地方,我只能在循环所有数据读/写功能时重现.它出现在任何地方.

09-14 08:52:15.089: WARN/SQLiteConnectionPool(19268): The connection pool for database '/data/data/com.nnn/databases/data.db' has been unable to grant a connection to thread 1 (main) with flags 0x5 for 30.000002 seconds.
        Connections: 0 active, 1 idle, 0 available.
Run Code Online (Sandbox Code Playgroud)

有什么方法可以避免这种情况吗?我明白我以某种方式耗尽了与数据库的所有连接?我正在使用方法#1:http://www.androiddesignpatterns.com/2012/05/correctly-managing-your-sqlite-database.html

我的数据库代码如下所示:

public class DatabaseHelper extends SQLiteOpenHelper
{
    private final static String LOG_TAG = "com.nnnn.data.DatabaseHelper";
    private static final String DATABASE_NAME = "data.db";
    private static final int DATABASE_VERSION = 260;
    private static SQLiteDatabase databaseInstance;

    public DatabaseHelper()
    {
        super(MyApplication.Me, DATABASE_NAME, null, DATABASE_VERSION);
    }

    public static …
Run Code Online (Sandbox Code Playgroud)

sqlite android

17
推荐指数
1
解决办法
3979
查看次数

为什么我的异常处理程序没有捕获Android SQLite插入错误?

我是第一次使用SQLite,并且我正在尝试学习它的异常处理,所以我在我的测试应用程序中强制插入错误.发生异常,我看到它写入了Eclipse LogCat输出窗口.但是它不会被代码捕获.我在这里看到了其他关于确保使用正确的异常类型的问题,并认为我已经做对了.知道我错过了什么吗?

在我的主要活动中的以下语句中,myTable是一个扩展我自己AbstractDbAdapter的类(它有一个DatabaseHelper扩展的类SQLiteOpenHelper).

try {
    myTable.create("dupkey");
}
catch (android.database.sqlite.SQLiteConstraintException e) {
    Log.e(TAG, "SQLiteConstraintException:" + e.getMessage());
}
catch (android.database.sqlite.SQLiteException e) {
    Log.e(TAG, "SQLiteException:" + e.getMessage());
} 
catch (Exception e) {
    Log.e(TAG, "Exception:" + e.getMessage());
}
Run Code Online (Sandbox Code Playgroud)

样本堆栈跟踪:

Error inserting id="dupkey" last_seen_ts=1360624732 first_seen_ts=1360624732 android.database.sqlite.SQLiteConstraintException: error code 19: constraint failed
  at android.database.sqlite.SQLiteStatement.native_execute(Native Method)
  at android.database.sqlite.SQLiteStatement.execute(SQLiteStatement.java:61)
  at android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1582)
  at android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.java:1426)
  at com.myCompany.testApp.myTable_DbAdapter.create(myTable_DbAdapter.java:51)
Run Code Online (Sandbox Code Playgroud)

myTableAbstractDbAdapter类:

public class myTable_DbAdapter extends AbstractDbAdapter {

    private static final String …

sqlite android exception-handling

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

从Android应用程序访问外部存储中的某个下载的.sqlite数据库

我试图在基于Android WebView的应用程序中实现离线地图功能:

使用DownloadManager,我从我们的网络服务器下载一个sqlite数据库文件(像.mbtiles这样的结构),它包含地图图块图像的blob("离线地图")并通过它存储在android外部存储中

public void downloadMap() {
    downloadManager = (DownloadManager) getActivity().getSystemService(Activity.DOWNLOAD_SERVICE);
    DownloadManager.Request r = new DownloadManager.Request(Uri.parse("http://sry.youtoknow.idontwant/map.sqlite"));

    r.setDestinationInExternalFilesDir(getContext(), "map", "map.sqlite");

    downloadManager.enqueue(r);
}
Run Code Online (Sandbox Code Playgroud)

下载似乎工作得很好. 我注册了一个BroadcastReceiver接收DownloadManager.ACTION_DOWNLOAD_COMPLETE并存储"map.sqlite"的路径使用SharedPreferences.

要从JavaScript访问数据库以使用中的tile图像WebView,通过检查customhttp:URL中的自定义虚构模式名称来拦截XHRequests:

webView.setWebViewClient(new WebViewClient() {
    public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) {
        String url = request.getUrl().toString();
        if (!url.startsWith("customhttp:")) {
            return null;
        } else {
            SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(getContext());
            SQLiteDatabase db = SQLiteDatabase.openDatabase(preferences.getString("map_uri", Environment.getExternalStorageDirectory().getPath() + "berlin.sqlite"), null, SQLiteDatabase.OPEN_READONLY); …
Run Code Online (Sandbox Code Playgroud)

sqlite android android-sqlite

17
推荐指数
1
解决办法
547
查看次数

如何使用Visual Studio Code查看SQLite数据库内容

我是新手,Django并试图查看SQLite3文件.我正在寻找一种方法来打开和查看数据库内容,visual studio code就像Pycharm可以做的那样(见图)Pycharm中的数据库内容视图

扩展可以做到吗?是否有可能在VSC中实现这一目标?

database sqlite pycharm visual-studio-code

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

构建新的Rails应用程序错误加载'sqlite3'而没有明显写入版本

当生成新的rails应用程序,并启动服务器"rails s"时,我得到的第一次按摩:

Puma发现了这个错误:加载'sqlite3'Active Record适配器时出错.缺少它依赖的宝石?无法激活sqlite3(〜> 1.3.6),已经激活了sqlite3-1.4.0.确保将所有依赖项添加到Gemfile.(LoadError)

重新加载页面后:

ActiveRecord :: ConnectionNotEstablished找不到找到"primary"的连接池.

  def retrieve_connection(spec_name) #:nodoc:
    pool = retrieve_connection_pool(spec_name)
    raise ConnectionNotEstablished, "No connection pool with '#{spec_name}' found." unless pool
    pool.connection
  end
Run Code Online (Sandbox Code Playgroud)

我重新安装ruby,rails,bundler,除了rvm之外我都不知道该怎么做

PS当我明显写出sqlite3版本时,这个错误就消失了,但它应该可以正常工作!救命!怎么办?或者重新安装所有这些?

ruby sqlite ruby-on-rails bundler rvm

17
推荐指数
1
解决办法
3589
查看次数