来自 DatabaseSwingManager 的连接抛出异常时的 HSQL 服务器模式 java.sql.SQLTransientConnectionException
HSQL server mode while connection from DatabaseSwingManager throws exception java.sql.SQLTransientConnectionException
我写了一个java连接服务器模式的代码
p.setProperty("server.database.3",
"file:G:/SERVERMODE/soamware;user=soamware;password=123@123");
p.setProperty("server.dbname.3", "soamware");
server.setProperties(p);
server.setLogWriter(null); // can use custom writer
server.setErrWriter(null); // can use custom writer
server.start();
try {
//Registering the HSQLDB JDBC driver
Class.forName("org.hsqldb.jdbc.JDBCDriver");
con = DriverManager.getConnection("jdbc:hsqldb:hsql://ip/soamware;
file:G:/SERVERMODE/soamware;user=soamware;password=123@123");
这段代码在带有 jdk8 和 hsqldb2.5.1 的 netbeans 中运行良好,但是控制台显示构建没有终止并且仍然 运行。当我连接到 SwingDatabaseManager
使用与 java 代码中提到的相同 url、用户名和密码。它抛出上述异常。也请澄清一下,为什么我的程序没有退出。我没有添加“server.shutdownCatalogs(1);”最后声明,因为这样我就无法在一个会话中执行多个操作。
因为您启动的服务器只有一个数据库,所以您应该设置 database.0
属性。您根本不应在连接字符串上使用 @
字符,因为它具有特殊含义。连接到服务器数据库时不应使用文件路径。仅使用 dbname.0
值。编辑代码如下:
p.setProperty("server.database.0", "file:G:/SERVERMODE/soamware;user=soamware;password=123x123");
p.setProperty("server.dbname.0", "soamware");
server.setProperties(p);
server.setLogWriter(null); // can use custom writer
server.setErrWriter(null); // can use custom writer
server.start();
try {
Class.forName("org.hsqldb.jdbc.JDBCDriver");
con = DriverManager.getConnection("jdbc:hsqldb:hsql://localhost/soamware", "soamware", "123x123");
我写了一个java连接服务器模式的代码
p.setProperty("server.database.3",
"file:G:/SERVERMODE/soamware;user=soamware;password=123@123");
p.setProperty("server.dbname.3", "soamware");
server.setProperties(p);
server.setLogWriter(null); // can use custom writer
server.setErrWriter(null); // can use custom writer
server.start();
try {
//Registering the HSQLDB JDBC driver
Class.forName("org.hsqldb.jdbc.JDBCDriver");
con = DriverManager.getConnection("jdbc:hsqldb:hsql://ip/soamware;
file:G:/SERVERMODE/soamware;user=soamware;password=123@123");
这段代码在带有 jdk8 和 hsqldb2.5.1 的 netbeans 中运行良好,但是控制台显示构建没有终止并且仍然 运行。当我连接到 SwingDatabaseManager
因为您启动的服务器只有一个数据库,所以您应该设置 database.0
属性。您根本不应在连接字符串上使用 @
字符,因为它具有特殊含义。连接到服务器数据库时不应使用文件路径。仅使用 dbname.0
值。编辑代码如下:
p.setProperty("server.database.0", "file:G:/SERVERMODE/soamware;user=soamware;password=123x123");
p.setProperty("server.dbname.0", "soamware");
server.setProperties(p);
server.setLogWriter(null); // can use custom writer
server.setErrWriter(null); // can use custom writer
server.start();
try {
Class.forName("org.hsqldb.jdbc.JDBCDriver");
con = DriverManager.getConnection("jdbc:hsqldb:hsql://localhost/soamware", "soamware", "123x123");