热门标签 | 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.

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


推荐阅读
  • 本文深入探讨了 Java 中的 Serializable 接口,解释了其实现机制、用途及注意事项,帮助开发者更好地理解和使用序列化功能。 ... [详细]
  • 深入解析JVM垃圾收集器
    本文基于《深入理解Java虚拟机:JVM高级特性与最佳实践》第二版,详细探讨了JVM中不同类型的垃圾收集器及其工作原理。通过介绍各种垃圾收集器的特性和应用场景,帮助读者更好地理解和优化JVM内存管理。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • DNN Community 和 Professional 版本的主要差异
    本文详细解析了 DotNetNuke (DNN) 的两种主要版本:Community 和 Professional。通过对比两者的功能和附加组件,帮助用户选择最适合其需求的版本。 ... [详细]
  • 本文探讨了 Objective-C 中的一些重要语法特性,包括 goto 语句、块(block)的使用、访问修饰符以及属性管理等。通过实例代码和详细解释,帮助开发者更好地理解和应用这些特性。 ... [详细]
  • 本文详细介绍了 Apache Jena 库中的 Txn.executeWrite 方法,通过多个实际代码示例展示了其在不同场景下的应用,帮助开发者更好地理解和使用该方法。 ... [详细]
  • 本文介绍了如何通过 Maven 依赖引入 SQLiteJDBC 和 HikariCP 包,从而在 Java 应用中高效地连接和操作 SQLite 数据库。文章提供了详细的代码示例,并解释了每个步骤的实现细节。 ... [详细]
  • 本文介绍如何使用阿里云的fastjson库解析包含时间戳、IP地址和参数等信息的JSON格式文本,并进行数据处理和保存。 ... [详细]
  • andr ... [详细]
  • 本文详细探讨了JDBC(Java数据库连接)的内部机制,重点分析其作为服务提供者接口(SPI)框架的应用。通过类图和代码示例,展示了JDBC如何注册驱动程序、建立数据库连接以及执行SQL查询的过程。 ... [详细]
  • 本文探讨了MariaDB在当前数据库市场中的地位和挑战,分析其可能面临的困境,并提出了对未来发展的几点看法。 ... [详细]
  • 本文探讨了在Java多线程环境下,如何确保具有相同key值的线程能够互斥执行并按顺序输出结果。通过优化代码结构和使用线程安全的数据结构,我们解决了线程同步问题,并实现了预期的并发行为。 ... [详细]
  • 本文介绍如何在现有网络中部署基于Linux系统的透明防火墙(网桥模式),以实现灵活的时间段控制、流量限制等功能。通过详细的步骤和配置说明,确保内部网络的安全性和稳定性。 ... [详细]
  • 通过Web界面管理Linux日志的解决方案
    本指南介绍了一种利用rsyslog、MariaDB和LogAnalyzer搭建集中式日志管理平台的方法,使用户可以通过Web界面查看和分析Linux系统的日志记录。此方案不仅适用于服务器环境,还提供了详细的步骤来确保系统的稳定性和安全性。 ... [详细]
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社区 版权所有