更新日期:2024年09月11日
URL 语法、JDBC Connector 配置属性
对于GBase
JDBC ,JDBC
URL 的格式如下,方括号([,
])里的项是可选的:
jdbc:gbase://[host][:port]/[database][?propertyName1][=propertyV
alue1][&propertyName2][=propertyValue2]...
如果没有指定数据库,这个连接将没有'当前'数据库。这种情况下,用户
需要在连接实例上调用setCatalog()方法,或者在SQL 中使用数据库名完整指
定表名(即 'SELECT
dbname.tablename.colname
FROM
dbname.tablename...')。
不指定连接使用的数据库,
只用在建立的连接需要使用多个库的工具时才有用,
如GUI 数据库管理器。
示例:
Class.forName("com.gbase.jdbc.Driver");
java.sql.Connection con =
DriverManager.getConnection("jdbc:gbase:///", "user", "password");
Statement st = con.createStatement();
ResultSet rs = st.executQuery(select test.testTbale.* from
GBase 8a 程序员手册JDBC 篇
南大通用数据技术股份有限公司
- 7 -
test.testTbale);
或者
Class.forName("com.gbase.jdbc.Driver");
java.sql.Connection con =
DriverManager.getConnection("jdbc:gbase:///", "user", "password");
con.setCatalog("test");
Statement st = con.createStatement();
ResultSet rs = st.executQuery(select * from testTbale);
该示例查询了test 数据库中的testTbale 表的全部列数据。
属性配置定义了GBase JDBC 将会如何连接到一个GBase server 上。除非
有其它说明,否则可以为DataSource 对象和Connection 对象设置属性。
配置属性可以通过下列任意一种方式来设置:
在java.sql.DataSource 的GBase 实例上使用set*()方法:
com.gbase.jdbc.jdbc2.optional.GBaseDataSource
com.gbase.jdbc.jdbc2.optional.GBaseConnectionPoolDataSou
rce
在java.util.Properties 实例中,作为一个键/值对传给
DriverManager.getConnection() 或 Driver.connect()
在赋给java.sql.DriverManager.getConnection()、
java.sql.Driver.connect() 或javax.sql.DataSource's setURL()
方法的 GBase 实例的URL 中,作为一个JDBC URL 变量。
示例:
Class.forName("com.gbase.jdbc.Driver");
GBase 8a 程序员手册JDBC 篇
- 8 -
南大通用数据技术股份有限公司
GBaseDataSource ds = new GBaseDataSource();
ds.setUrl("jdbc:gbase://localhost:5258/test");
ds.setUser("user");
ds.setPassword("password");
java.sql.Connection con = ds.getConnection();
Statement st = con.createStatement();
ResultSet rs = st.executQuery(select c_custkey from customer);
注释:
如果用户用来配置一个JDBC
URL 的方法是基于XML 的,那么用户需要使用
XML 特征字符& 来分开配置参数,
“&”是XML 的保留字符。
使用GBase JDBC 驱动创建连接时可以设定的属性如下表格所示:
表 2-1 创建连接时可以设定的属性
名称
定义
默认值
连接/验证
user
连接时使用的用户
password
连接时使用的密码
socketFactory
驱动程序用于创建到服务器的socket
连接的类名。这个类必须执行
com.gbase.jdbc.SocketFactory接口且
必须有公共无参数的构造函数。
com.gbase.jdb
c.
Standard
SocketFactory
GBase 8a 程序员手册JDBC 篇
南大通用数据技术股份有限公司
- 9 -
connectTimeout
socket 连接的超时(单位毫秒)
,如果
是0 表示没有超时。在JDK-1.4 或更新
版本下才能使用。默认为0。
0(通过socket
连接进行读写
操作时这两个
参数才起作用。
如果不设置,网
络突然断开时,
读数据会处在
等待状态。
)
socketTimeout
网络socket 操作的超时(默认为0,意
味着无超时)
0
useConfigs
在解析URL 或这接受用户指定的属性之
前,加载使用逗号分割的配置属性。这
些配置在参数配置文档中有解释。
根据配置文件
初始化参数
propertiesTrans
form
一个
com.gbase.jdbc.ConnectionPropertie
sTransform的实施实例,
在尝试连接前,
驱动用来修改传递进来的URL 属性。
parseURL 方法
会建立该对象修
改参数
useCompression
在和服务器通信时是否使用zlib 压缩
(true/false),默认为false。
false
isCheckProperty
创建连接前是否验证url 参数的合法
性,如果参数名称不正确,将直接报错
退出。
true
GBase 8a 程序员手册JDBC 篇
- 10 -
南大通用数据技术股份有限公司
vcName
设置虚拟集群名称。如果集群支持虚拟
集群,必须通过该参数指定默认的虚拟
集群名称
高可靠性和集群
resourceId
全局独一无二的资源号,用来标识数据
源或数据库连接可以连接到的资源机
器。
failoverEnable
8a 集群使用,创建连接时,如果集群当
前集群节点不可用,是否自动路由到下
一个可用的节点。默认为false;
false
hostList
8a 集群使用,当failoverEnable=true
的情况下生效。
记录集群中节点的IP 以
逗号分隔。
例:集群三个节点