demo测试服务器上 jdbc:gbasedbt-direct: 、jdbc:gbasedbt-sqli 都无法连接数据库,在数据库服务器上程序到底要如何连接数据库?
为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【GBase版本】:Gbase8sV8.8_3.6.6
【操作系统】:银河麒麟V 10 桌面操作系统
【CPU】:英特尔
【问题描述】*:
Gbase 安装服务器上运行连接程序测试 jdbc:gbasedbt-sqli jdbc:gbasedbt-direct: 两种方式都不行,在客户端电脑 jdbc:gbasedbt-sqli 可以连接诶成功,程序在数据库服务器上到底如何连接?

/ **
* GBase数据库连接测试 - 使用您提供的完整URL格式和正确的驱动类名
* 测试两种GBase连接方式:sqli协议和direct协议
*/
public class GBaseConnectionTest {
public static void main(String[] args) {
System.out.println("=== 测试GBase数据库连接方式 ===\n");
// 测试方式1:使用sqli协议(您提供的完整URL格式)
testSqliProtocol();
System.out.println("\n" + "==============================================" + "\n");
// 测试方式2:使用direct协议
testDirectProtocol();
}
/**
* 测试方式1:使用sqli协议连接
* URL格式:jdbc:gbasedbt-sqli://host:port/database:GBASEDBTSERVER=server;properties
*/
public static void testSqliProtocol() {
System.out.println("=== 测试方式1:使用sqli协议 ===");
// 使用您提供的完整URL格式
String url = "jdbc:gbasedbt-sqli://192.168.30.240:9088/AnRanSMCS:GBASEDBTSERVER=gbase01;delimident=y;sqlmode=Oracle;DB_LOCALE=zh_CN.GB18030-2000;CLIENT_LOCALE=zh_CN.GB18030-2000;IFX_LOCK_MODE_WAIT=60";
String username = "gbasedbt";
String password = "AnRan2012";
String driverClassName = "com.gbasedbt.jdbc.Driver"; // 根据GBase官方文档的正确驱动类名
System.out.println("使用您提供的URL格式: " + url);
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
// 加载GBase JDBC驱动
Class.forName(driverClassName);
System.out.println("正在连接到GBase 8s数据库...");
System.out.println("URL: " + url);
System.out.println("用户名: " + username);
// 建立连接
conn = DriverManager.getConnection(url, username, password);
System.out.println("数据库连接成功!");
// 执行一个简单的查询测试连接
stmt = conn.createStatement();
rs = stmt.executeQuery("SELECT CURRENT YEAR TO FRACTION FROM dual");
if (rs.next()) {
System.out.println("当前数据库时间: " + rs.getString(1));
}
// 测试表数量查询
rs = stmt.executeQuery("SELECT COUNT(*) FROM systables WHERE tabtype='T'");
if (rs.next()) {
System.out.println("系统表数量: " + rs.getInt(1));
}
} catch (ClassNotFoundException e) {
System.err.println("GBase JDBC驱动未找到!");
System.err.println("请确认GBase JDBC驱动jar包是否在classpath中");
e.printStackTrace();
} catch (Exception e) {
System.err.println("数据库连接失败: " + e.getMessage());
e.printStackTrace();
} finally {
// 关闭资源
try {
if (rs != null) rs.close();
if (stmt != null) stmt.close();
if (conn != null) conn.close();
System.out.println("数据库连接已关闭。");
} catch (Exception e) {
e.printStackTrace();
}
}
}
/**
* 测试方式2:使用direct协议连接
* URL格式:jdbc:gbasedbt-direct://database;user=username;password=password;properties
*/
public static void testDirectProtocol() {
System.out.println("=== 测试方式2:使用direct协议 ===");
// 使用direct协议的URL格式
String url = "jdbc:gbasedbt-direct://AnRanSMCS;user=gbasedbt;password=AnRan2012;delimident=y;sqlmode=Oracle;DB_LOCALE=zh_CN.GB18030-2000;CLIENT_LOCALE=zh_CN.GB18030-2000;IFX_LOCK_MODE_WAIT=60";
String driverClassName = "com.gbasedbt.jdbc.Driver"; // 根据GBase官方文档的正确驱动类名
System.out.println("使用direct协议URL格式: " + url);
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
// 加载GBase JDBC驱动
Class.forName(driverClassName);
System.out.println("正在连接到GBase 8s数据库...");
System.out.println("URL: " + url);
// 建立连接
conn = DriverManager.getConnection(url);
System.out.println("数据库连接成功!");
// 执行一个简单的查询测试连接
stmt = conn.createStatement();
rs = stmt.executeQuery("SELECT CURRENT YEAR TO FRACTION FROM dual");
if (rs.next()) {
System.out.println("当前数据库时间: " + rs.getString(1));
}
// 测试表数量查询
rs = stmt.executeQuery("SELECT COUNT(*) FROM systables WHERE tabtype='T'");
if (rs.next()) {
System.out.println("系统表数量: " + rs.getInt(1));
}
} catch (ClassNotFoundException e) {
System.err.println("GBase JDBC驱动未找到!");
System.err.println("请确认GBase JDBC驱动jar包是否在classpath中");
e.printStackTrace();
} catch (Exception e) {
System.err.println("数据库连接失败: " + e.getMessage());
e.printStackTrace();
} finally {
// 关闭资源
try {
if (rs != null) rs.close();
if (stmt != null) stmt.close();
if (conn != null) conn.close();
System.out.println("数据库连接已关闭。");
} catch (Exception e) {
e.printStackTrace();
}
}
}
}

评论
必须在linux服务器桌面要用root用户登录 运行个链接数据库的应用程序,弹窗是否放行选择放行后其他的都可以连接了,无语!!!!无桌面的咋办??

热门帖子
- 12025-12-01浏览数:182759
- 22023-05-09浏览数:25044
- 42023-09-25浏览数:18519
- 52020-05-11浏览数:17526