热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

没有这样的表android_metadata,有什么问题?-Nosuchtableandroid_metadata,what'stheproblem?

Iamcopyingapre-existingdatabasetodatadatapackagenamedatabasesusingcodelearnedfromusi

I am copying a pre-existing database to /data/data/packagename/databases using code learned from using-your-own-sqlite-database-in-android-applications

我正在使用从您自己的sqlite-database-in-android-applications中学习的代码将预先存在的数据库复制到/ data / data / packagename / databases

After copying, I recieve the following log message on opening the database:

复制后,我在打开数据库时收到以下日志消息:

No such table android_metadata

没有这样的表android_metadata

Do I need to create a table named android_metadata? And what the values do i need insert into this database table

我是否需要创建一个名为android_metadata的表?我需要将值插入此数据库表中

Thanks very much

非常感谢

7 个解决方案

#1


107  

Actually, with a bit more reading, I have discovered that I need to use the SQLiteDatabase.NO_LOCALIZED_COLLATORS flag when calling SQLiteDatabase.openDatabase() - this no longer causes the problem.

实际上,通过更多阅读,我发现在调用SQLiteDatabase.openDatabase()时我需要使用SQLiteDatabase.NO_LOCALIZED_COLLATORS标志 - 这不再导致问题。

#2


30  

Use

使用

SQLiteDatabase.openDatabase(dbPath, null,SQLiteDatabase.NO_LOCALIZED_COLLATORS | SQLiteDatabase.CREATE_IF_NECESSARY);

or

要么

SQLiteDatabase.openDatabase(dbPath, null,SQLiteDatabase.OPEN_READWRITE);

#3


4  

It seems that for some reason android requires every database to have a table called android_metadata that includes at least one locale. The reigndesign blog you mentioned tells you how to create the table and prefill it with a locale.

似乎由于某种原因,android要求每个数据库都有一个名为android_metadata的表,其中包含至少一个语言环境。您提到的reigndesign博客告诉您如何创建表并使用区域设置预填充它。

Check if your database contains this table and if the table has some content.

检查您的数据库是否包含此表以及该表是否包含某些内容。

#4


3  

When you copy database from your assets directory for example, then you must have android_metadata table created in it already. This table should have two columns:

例如,从资产目录复制数据库时,必须已在其中创建了android_metadata表。该表应该有两列:

_id = an integer value
locale = en

#5


2  

I am already using as given in that link for a long time..

我已经在该链接中使用了很长时间..

It works.. Checkout your DB again the table created or not ?

它的工作原理..再次检查你的数据库是否创建了表?

I prefer to install SQLite Manager plugin in firefox for sqlite database operation.. after completing all process as mentioned in the same link..

我更喜欢在firefox中安装SQLite Manager插件进行sqlite数据库操作..在完成同一链接中提到的所有进程之后..

Checkout http://www.devx.com/wireless/Article/40842/1954.

结帐http://www.devx.com/wireless/Article/40842/1954。

It contains all database operations.

它包含所有数据库操作。

#6


2  

it might also just be file permissions - the error message is misleading. first you need to find out the user id of the app (this is assuming you have root access):

它也可能只是文件权限 - 错误消息具有误导性。首先,您需要找出应用程序的用户ID(假设您具有root访问权限):

$ adb shell grep  /data/system/packages.xml

output should look like:

输出应如下所示:


userId here is 10002.

userId这里是10002。

then fix permissions:

然后修复权限:

$ adb shell chown -R 10002:10002 /data/data/

#7


1  

In my case, I have discovered that this error will happen if I leave an open transaction left.

在我的情况下,我发现如果我留下一个打开的交易,就会发生这个错误。

In other words: If you forget to commit or rollback a transaction, in the next time you enter in your application, this error raises up.

换句话说:如果您忘记提交或回滚事务,则在下次输入应用程序时,会出现此错误。


推荐阅读
  • 本文探讨了在 SQL Server 中使用 JDBC 插入数据时遇到的问题。通过详细分析代码和数据库配置,提供了解决方案并解释了潜在的原因。 ... [详细]
  • 在进行QT交叉编译时,可能会遇到与目标架构不匹配的宏定义问题。例如,当为ARM或MIPS架构编译时,需要确保使用正确的宏(如QT_ARCH_ARM或QT_ARCH_MIPS),而不是默认的QT_ARCH_I386。本文将详细介绍如何正确配置编译环境以避免此类错误。 ... [详细]
  • 本文深入探讨了SQL数据库中常见的面试问题,包括如何获取自增字段的当前值、防止SQL注入的方法、游标的作用与使用、索引的形式及其优缺点,以及事务和存储过程的概念。通过详细的解答和示例,帮助读者更好地理解和应对这些技术问题。 ... [详细]
  • 1.执行sqlsever存储过程,消息:SQLServer阻止了对组件“AdHocDistributedQueries”的STATEMENT“OpenRowsetOpenDatas ... [详细]
  • 优化SQL Server批量数据插入存储过程的实现
    本文介绍了一种改进的SQL Server存储过程,用于生成批量插入语句。该方法不仅提高了性能,还支持单行和多行模式,适用于SQL Server 2005及以上版本。 ... [详细]
  • 主调|大侠_重温C++ ... [详细]
  • 软件工程课堂测试2
    要做一个简单的保存网页界面,首先用jsp写出保存界面,本次界面比较简单,首先是三个提示语,后面是三个输入框,然 ... [详细]
  • 本文档介绍了如何在Visual Studio 2010环境下,利用C#语言连接SQL Server 2008数据库,并实现基本的数据操作,如增删改查等功能。通过构建一个面向对象的数据库工具类,简化了数据库操作流程。 ... [详细]
  • java文本编辑器,java文本编辑器设计思路
    java文本编辑器,java文本编辑器设计思路 ... [详细]
  • Logback使用小结
    1一定要使用slf4j的jar包,不要使用apachecommons的jar。否则滚动生成文件不生效,不滚动的时候却生效~~importorg.slf ... [详细]
  • 本文介绍了在MacOS上通过Homebrew安装Anaconda3,并配置环境变量以实现不同Python版本之间的快速切换。同时,提供了详细的步骤来创建和管理多个Python环境。 ... [详细]
  • 请看|间隔时间_Postgresql 主从复制 ... [详细]
  • 本题探讨了在大数据结构背景下,如何通过整体二分和CDQ分治等高级算法优化处理复杂的时间序列问题。题目设定包括节点数量、查询次数和权重限制,并详细分析了解决方案中的关键步骤。 ... [详细]
  • 本文介绍了如何使用Java代码在Android设备上检测特定应用程序是否已安装。通过创建一个Intent并利用PackageManager查询该Intent的可用性来实现这一功能。 ... [详细]
  • ML学习笔记20210824分类算法模型选择与调优
    3.模型选择和调优3.1交叉验证定义目的为了让模型得精度更加可信3.2超参数搜索GridSearch对K值进行选择。k[1,2,3,4,5,6]循环遍历搜索。API参数1& ... [详细]
author-avatar
鱼咸4406
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有