在eclipse上通过Java创建Derby数据库时出错;没有'service.properties'文件

时间:2011-11-04 16:44:17

标签: java eclipse derby

我有(java)代码,它使用文本文件作为源数据在derby数据库中创建和填充表。我目前正在使用Win7上的eclipse indigo运行它,它运行正常。

我在该程序中有其他代码,根据用户的选择,创建数据所在的数据库。我不能让那部分工作。

它使用'jdbc:derby:x \ y; create = true'作为其连接字符串;它从DriverManager.getConnection(connectionString,properties)抛出一个异常,说“数据库目录blah \ blah \ x \ y存在;但是,它不包含预期的'service.properties'文件。也许......'和一些更无关紧要的东西。

在我运行之前,我删除目录x和y,然后对我的代码所在的eclipse项目执行刷新。这些目录目前与我的eclipse项目位于同一目录中。运行我的代码后,目录x和y都已创建,但不是我的数据库。

如果我删除目录,打开命令提示符,将我的默认值设置为包含x的目录,启动ij,并使用上面给出的相同连接字符串的connect语句,它将创建目录和数据库。那么我的程序将按预期填充数据库,没有错误。

我还尝试直接在我的项目所在的工作空间目录中创建数据库(即y没有x的父目录),结果相同,所以我不它是数据库名称规范中的斜杠。

所以我想知道我可能做错了什么阻止该程序创建数据库,就像ij中的'connect'语句一样。

1 个答案:

答案 0 :(得分:1)

我找到了。我已将derby.system.home属性设置为数据库名称而不是合理(甚至是现有)目录。我还没有确切地解决它的问题,但是当我将它设置为硬编码目录时,问题就消失了。

RC