Springboot: pom.xml org.firebirdsql.jdbc jaybird 4.0.0.java8
application.properties
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: CreateFile(D:companyDbProDatafile.fdb)操作中的I/O错误;试图打开文件时出错;SQLState:08001,ISC错误代码:335544344
怎么了?
发布于 2020-06-10 18:59: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 (Firebird 3及更高版本)或aliases.conf (Firebird 2.5及更低版本)中配置别名,并在连接字符串中而不是路径中指定别名。
https://stackoverflow.com/questions/62309843
复制相似问题