我们的C#应用程序通过H2Sharp访问H2数据库(1.3.164)。操作系统是Windows 7,64位。H2:通过完整路径提供初始化脚本(Windows 7)
连接字符串
jdbc:h2:C:\Users\TestUser\Desktop\TestAppStorage\TestDB;INIT=RUNSCRIPT FROM 'C:\Users\TestUser\Desktop\TestAppStorage\init.sql'
导致以下异常:
IO Exception: "java.io.FileNotFoundException: Could not find file 'C:\Users\TestUser\Desktop\VS Projects\TestManagerApp\bin\Debug\UsersTestUserDesktopTestAppStorageinit.sql'."; "C:UsersTestUserDesktopTestAppStorageinit.sql"; SQL statement:
RUNSCRIPT FROM 'C:UsersTestUserDesktopTestAppStorageinit.sql' [90031-164]
路径值来自于UI用户选择:在连接到数据库时
错误。应该如何在Windows下为init脚本提供完整路径?我看到的例子总是使用~
作为路径的开始,但在我们的案例中可能并非如此。
顺便说一句,据我所看到的,字符串是正确的,直到它从H2Sharp交给H2点(即H2Sharp不造成一个问题,直到java.sql.DriverManager.getConnection(connectionString, userName, password);
电话。
谢谢。我采用了正斜杠的方法。起初我很困惑,因为反斜杠在init部分之外工作正常。 – alokoko 2012-03-31 17:52:11