在 JDBC Sqlite 中创建数据库

Posted

技术标签:

【中文标题】在 JDBC Sqlite 中创建数据库【英文标题】:Creating Database in JDBC Sqlite 【发布时间】:2013-02-03 17:17:46 【问题描述】:

我正在使用 SQLite 驱动程序 http://code.google.com/p/sqlite-jdbc/wiki/Introduction 上述文档中的示例展示了如何连接现有数据库。

在我的应用程序中,我需要创建一个 SQLite 数据库。怎么做?创建扩展名为.db 的文件是否足够? 还有一个名为createFile() 的函数。如果有怎么用?我用谷歌搜索,没有人给出明确的答案。

【问题讨论】:

【参考方案1】:

如果文件不存在,SQLite 会在第一次尝试连接时创建新的数据库文件。

所以,只需使用jdbc:sqlite:filename.db 作为JDBC 连接字符串,只要您有创建filename.db 的权限,它就会自动创建。如果需要,您也可以手动预创建此文件,大小为 0

【讨论】:

请问它是在哪里创建的? 它只是按照正常的文件名规则处理filename.db:默认在当前进程目录中,如果文件名以/(或Windows上的\)开头,则为完全限定路径。 感谢我在程序文件中的tomcat文件夹中的bin文件夹中我搜索了我的计算机@ 在 tomcat bin 文件夹中保存 db 听起来是个坏主意。很有可能tomcat进程没有足够的权限来实际在那里创建您的数据库文件。如果是这样,您的应用程序很可能容易受到某些安全漏洞的攻击。如果我是你,我会为 SQLite 数据库找到更好的地方。 我只是想为未来的读者补充,我不断收到opening db: './filename.db': Access is denied 消息。我通过在打开时授予我的 IDE 管理员访问权限来修复它。

以上是关于在 JDBC Sqlite 中创建数据库的主要内容,如果未能解决你的问题,请参考以下文章

在文档目录的子文件夹中创建 sqlite 数据库失败

使用 IONIC 3 + CORDOVA 在 SQLite 中创建数据库

在初始迁移期间创建的同一数据库中创建一个新的 sqlite 表

在 Android 上的 SQLite 中创建多个表

如何在 Qt SQLite 中创建多个连接?

Cocos2d-x中创建SQLite数据库