当前位置: 首页 > 知识库问答 >
问题:

连接到Firebird数据库时出错

夹谷信鸿
2023-03-14
spring.datasource.url=jdbc:firebirdsql://SERVER:3050/D:\company\DbPro\Data\file.fdb
spring.datasource.driverClassName=org.firebirdsql.jdbc.FBDriver

查询数据库时出错。原因:org.springframework.JDBC.canNotgetJDBCConnectionException:未能获得JDBC连接;嵌套异常是java.sql.sqlexception:对文件“d:companydbprodatafile.fdb”进行“createFile(open)”操作时发生I/O错误;试图打开文件时出错;[SQLSTATE:08001,ISC错误代码:335544344]

怎么了?

共有1个答案

万俟铭
2023-03-14

如错误消息所示,Firebird尝试连接到一个数据库d:companydbprodatafile.fdb,该数据库不存在(或者不可访问)。

路径不正确的原因是\表示属性文件中的转义。如properties.load所述:

  • 方法不会将无效转义字符前的反斜杠字符\视为错误;反斜杠默不作声地删除。例如,在Java字符串中,序列“\z”将导致编译时错误。相反,此方法静默地删除反斜杠。因此,此方法将两个字符序列“\b”视为与单个字符“b”等效。

若要修复此问题,请确保双倍反斜杠,或使用正斜杠。所以使用:

spring.datasource.url=jdbc:firebirdsql://SERVER:3050/D:\\company\\DbPro\\Data\\file.fdb

spring.datasource.url=jdbc:firebirdsql://SERVER:3050/D:/company/DbPro/Data/file.fdb

或者,不指定数据库路径,而是在databases.conf(Firebird3和更高版本)或aliases.conf(Firebird2.5和更低版本)中配置别名,并在连接字符串中指定别名而不是路径。

 类似资料:
  • 如果有人能在这里帮忙,我真的很高兴。

  • PHP interbase中的Noob。 我正在做一个项目,我需要将数据保存在两个独立的数据库中。我使用默认的MySQL数据库,而另一个使用firebird。已下载此库 这是我的数据库。配置文件夹中的php。 需要多个数据库的函数 模型 我对create_purchaseorder函数没有问题,但是当我运行“save”函数时,它会给我这个错误 致命错误:调用未定义的函数ibase_connect(

  • 我是php的初学者,对于一个项目,我想把我和数据库连接起来,但问题是: 我需要4个变量: 当我这样做时: 有两个错误: 警告:mysqli::mysqli():php_network_getaddress:getaddrinfo失败:第21行/home/ubuntu/workspace/index.php中的名称或服务未知 而且 警告:mysqli::mysqli():(HY000/2002):p

  • 我有一个数据库。当我尝试使用库UCanAccess连接到它时: 连接时获取: 此类错误: 如果我只导出所需的表并连接到它,没有错误。但是我需要使用完整的数据库。 编辑 我删除了对DB中不存在文件的引用,但错误仍然存在:

  • 我目前正试图找到一个替代我的android应用程序后端。目前,我使用php servlets查询Mysql数据库。数据库(Mysql)托管在我学院的一台计算机上,所以我不能更改任何配置,因为我不是管理员。我只能编辑自己的表。 我试图使用以下代码创建一个java RESTful服务器:

  • 我下面的文档连接PHP到火鸟数据库。我在php.ini激活了分机 我在xampp上重新启动了apache,并复制粘贴了文档的代码以进行测试。当我运行代码时,我发现 我错过了什么? 环境: 使用PHP7.4的XAMPP 视窗10