标签: sqlite

28
推荐指数
4
解决办法
6万
查看次数

Android线程和数据库锁定

我们AsyncTasks用来访问数据库表和游标.

不幸的是,我们偶尔会看到有关数据库被锁定的例外情况.

E/SQLiteOpenHelper(15963): Couldn't open iviewnews.db for writing (will try read-only):
E/SQLiteOpenHelper(15963): android.database.sqlite.SQLiteException: database is locked
E/SQLiteOpenHelper(15963):  at     android.database.sqlite.SQLiteDatabase.native_setLocale(Native Method)
E/SQLiteOpenHelper(15963):  at     android.database.sqlite.SQLiteDatabase.setLocale(SQLiteDatabase.java:1637)
E/SQLiteOpenHelper(15963):  at     android.database.sqlite.SQLiteDatabase.<init>(SQLiteDatabase.java:1587)
E/SQLiteOpenHelper(15963):  at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:638)
E/SQLiteOpenHelper(15963):  at android.database.sqlite.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:659)
E/SQLiteOpenHelper(15963):  at android.database.sqlite.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:652)
E/SQLiteOpenHelper(15963):  at android.app.ApplicationContext.openOrCreateDatabase(ApplicationContext.java:482)
E/SQLiteOpenHelper(15963):  at android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:193)
E/SQLiteOpenHelper(15963):  at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:98)
E/SQLiteOpenHelper(15963):  at android.database.sqlite.SQLiteOpenHelper.getReadableDatabase(SQLiteOpenHelper.java:158)
E/SQLiteOpenHelper(15963):  at com.iview.android.widget.IViewNewsTopStoryWidget.initData(IViewNewsTopStoryWidget.java:73)
E/SQLiteOpenHelper(15963):  at com.iview.android.widget.IViewNewsTopStoryWidget.updateNewsWidgets(IViewNewsTopStoryWidget.java:121)
E/SQLiteOpenHelper(15963):  at com.iview.android.async.GetNewsTask.doInBackground(GetNewsTask.java:338)
E/SQLiteOpenHelper(15963):  at com.iview.android.async.GetNewsTask.doInBackground(GetNewsTask.java:1)
E/SQLiteOpenHelper(15963):  at android.os.AsyncTask$2.call(AsyncTask.java:185)
E/SQLiteOpenHelper(15963):  at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:256)
E/SQLiteOpenHelper(15963):  at java.util.concurrent.FutureTask.run(FutureTask.java:122)
E/SQLiteOpenHelper(15963):  at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:648)
E/SQLiteOpenHelper(15963):  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:673)
E/SQLiteOpenHelper(15963):  at java.lang.Thread.run(Thread.java:1060)
Run Code Online (Sandbox Code Playgroud)

有没有人有一个代码的一般例子,它从一个读取的不同线程写入数据库,我们如何确保线程安全. …

sqlite android locking thread-safety android-asynctask

28
推荐指数
4
解决办法
6万
查看次数

如何在sqlite中转换Unix纪元时间

你能帮我把Unix纪元时间换成格式yyyy-mm-dd hh:mm:ss(24h)在sqlite中吗?(GMT + 7非常感谢).

例如:从1319017136629到2011年10月19日星期三下午4:38:56 GMT + 7

提前谢谢了.

p/s:环顾四周找到解决方案:

SELECT datetime(1319017136629, 'unixepoch', 'localtime');
Run Code Online (Sandbox Code Playgroud)

但我仍在寻找一种在SQLite中批量转换Unixepoch时间的方法.

sql unix sqlite epoch

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

Chrome的时间戳格式是什么?

我正在使用SQLite数据库浏览器从包含Google Chrome浏览历史记录的数据库中读取信息.我在"执行SQL"面板中执行的当前代码如下所示:

SELECT last_visit_time,url,title
FROM urls
WHERE url LIKE {PLACEHOLDER} AND title LIKE {PLACEHOLDER}
Run Code Online (Sandbox Code Playgroud)

{PLACEHOLDER}出于隐私目的,"WHERE"行中的内容被阻止.现在,我想让last_visit_time列中返回的数据可读而不是混乱的混乱13029358986442901.我该怎么做?如何将Chrome的时间戳转换为可读格式?如何通过它来订购它们(返回的行)last_visit_time

sqlite timestamp google-chrome

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

如何使用SQLite十进制精度表示法

再次发现自己对可怕的SQLite文档感到沮丧.

http://www.sqlite.org/datatype3.html给出了一个定义十进制字段的示例,decimal(10,5)但它没有解释10是什么,5是什么.

我确信10是存储的总位数,但我不知道5是什么意思.它是小数点或小数点的位数吗?

sqlite

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

ASP.NET 6 + Identity + Sqlite,services.AddDbContext() 如何?

我使用的是 ASP.NET Core 5.0 + SQL Server 的教程,但实际上我使用的是 ASP.NET Core 6.0 + Sqlite。

该教程中有以下代码StartUp.cs

public void ConfigureServices(IServiceCollection services)  
{  
    services.AddControllers();  
    services.AddDbContext<ApplicationDbContext>(options => options.UseSqlServer(Configuration.GetConnectionString("ConnStr")));  
}  
Run Code Online (Sandbox Code Playgroud)

但在我的项目中,该文件或类不存在。有一个Program.cs文件没有类或方法,只有代码行。我猜想它就是取代该类的东西,所以我尝试使用它

builder.Services.AddDbContext<ApplicationDbContext>(options=> options.);
Run Code Online (Sandbox Code Playgroud)

options没有这样的方法UseSqlServer。我认为这是因为我使用的是 Sqlite,而不是 SQL Server,所以我在网上搜索了 Sqlite 的示例,但这些示例中的方法也不存在。我可以看到AddEntityFrameworkSqlite,但仅此而已。

我怎样才能做到这一点?

我添加了以下相关包:

  • 微软.AspNetCore.Identity
  • Microsoft.AspNetCore.Identity.EntityFrameworkCore
  • Microsoft.EntityFrameworkCore.Sqlite.Core
  • Microsoft.EntityFrameworkCore.Tools

其他课程与原教程相同

这是DbContext班级。

using Microsoft.AspNetCore.Identity.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore;

public class ApplicationDbContext:IdentityDbContext<ApplicationUser>
{
    public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options):base(options)
    {
    }
}
Run Code Online (Sandbox Code Playgroud)

Program.cs我试图编辑的代码:

using WebApplication1.Authentication;

var builder = WebApplication.CreateBuilder(args);

// Add services to the …
Run Code Online (Sandbox Code Playgroud)

c# sqlite asp.net-identity asp.net-core

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

HEROKU - 无法运行git push heroku master

我运行命令

heroku create --stack cedar
git push heroku master
Run Code Online (Sandbox Code Playgroud)

但它给了我一个错误:

> Counting objects: 144, done. Delta compression using up to 2 threads.
> Compressing objects: 100% (128/128), done. Writing objects: 100%
> (144/144), 50.16 KiB, done. Total 144 (delta 23), reused 0 (delta 0)
> 
> -----> Heroku receiving push
> -----> Ruby/Rails app detected
> -----> Installing dependencies using Bundler version 1.1.rc
>        Running: bundle install --without development:test --path vendor/bundle --deployment
>        Fetching gem metadata from http://rubygems.org/.......
>        Installing …
Run Code Online (Sandbox Code Playgroud)

ruby sqlite ruby-on-rails heroku

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

以只读模式从python打开sqlite3数据库

在使用C/C++的sqlite3时,我了解到它有一个open-in-read-only模式选项,这对于避免意外的数据损坏非常方便.Python绑定中有这样的东西吗?

python sqlite

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

将.csv文件导入Android中的Sqlite

我有一个.csv文件,我想将这个文件导入到android中的数据库中.

例如,.csv文件:

| id | name  | dt1 | dt2 | dt3 | 
| 1  | Paul  | 21  | 98  | 91  |
| 2  | John  | 22  | 44  | 11  |
| 3  | George| 21  | 31  | 22  |
| 4  | Ringo | 20  | 10  | 15  | 
Run Code Online (Sandbox Code Playgroud)

对于这样的事情:

Cursor cursor = getWritableDatabase().
rawQuery("Insert into table1(_id, name, dt1, dt2, dt3)
values ( 1, Paul, 21, 98, 91)
values ( 2, John, 22, …
Run Code Online (Sandbox Code Playgroud)

database csv sqlite import android

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

Python将numpy数组插入sqlite3数据库

我正在尝试在sqlite3数据库中存储大约1000个浮点数的numpy数组,但我不断收到错误"InterfaceError:Error binding parameter 1 - 可能不支持的类型".

我的印象是BLOB数据类型可能是任何东西,但它肯定不适用于numpy数组.这是我试过的:

import sqlite3 as sql
import numpy as np
con = sql.connect('test.bd',isolation_level=None)
cur = con.cursor()
cur.execute("CREATE TABLE foobar (id INTEGER PRIMARY KEY, array BLOB)")
cur.execute("INSERT INTO foobar VALUES (?,?)", (None,np.arange(0,500,0.5)))
con.commit()
Run Code Online (Sandbox Code Playgroud)

我可以使用另一个模块将numpy数组放入表中吗?或者我可以将numpy数组转换为Python中的另一种形式(如我可以拆分的列表或字符串),sqlite会接受吗?绩效不是优先事项.我只是想让它起作用!

谢谢!

python sqlite numpy

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