暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

华为GaussDB A JDBC连接数据库

墨天轮 2019-10-12
5396

连接数据库

在创建数据库连接之后,才能使用它来执行SQL语句操作数据。

函数原型

JDBC提供了三个方法,用于创建数据库连接。

  • DriverManager.getConnection(String url);
  • DriverManager.getConnection(String url, Properties info);
  • DriverManager.getConnection(String url, String user, String password);

参数

表1 数据库连接参数

参数

描述

url

gsjdbc4.jar数据库连接描述符。格式如下:

  • jdbc:postgresql:database
  • jdbc:postgresql://host/database
  • jdbc:postgresql://host:port/database
说明:

使用gsjdbc200.jar时,将“jdbc:postgresql”修改为“jdbc:gaussdb”

  • database为要连接的数据库名称。
  • host为数据库服务器名称或IP地址。

    连接GaussDB 200的机器与GaussDB 200不在同一网段时,host指定的IP地址应为Manager界面上所设的mppdb.coo.cooListenIp2(应用访问IP)的取值。

    由于安全原因,数据库CN禁止集群内部其他节点无认证接入。如果要在集群内部访问CN,请将JDBC程序部署在CN所在机器,host使用"127.0.0.1"。否则可能会出现“FATAL: Forbid remote connection with trust method!”错误。

    建议业务系统单独部署在集群外部,否则可能会影响数据库运行性能。

  • port为数据库服务器端口。

缺省情况下,会尝试连接到localhost的25308端口的database。

info

数据库连接属性。常用的属性如下:

  • user:String类型。表示创建连接的数据库用户。
  • password:String类型。表示数据库用户的密码。
  • ssl:Boolean类型。表示是否使用SSL连接。
  • loggerLevel:string类型。为LogStream或LogWriter设置记录进DriverManager当前值的日志信息量。目前支持"OFF"、"DEBUG"和"TRACE"。 值为"DEBUG"时,表示只打印DEBUG级别以上的日志,将记录非常少的信息。值等于TRACE时,表示打印DEBUG和TRACE级别的日志,将产生详细的日志信息。默认值为OFF,表示不打印日志。
  • prepareThreshold:integer类型。用于确定在转换为服务器端的预备语句之前,要求执行方法PreparedStatement的次数。缺省值是5。
  • batchMode : boolean类型,用于确定是否使用batch模式连接。
  • fetchsize : integer类型,用于设置数据库链接所创建statement的默认fetchsize。
  • ApplicationName:string类型。应用名称,在不做设置时,缺省值为PostgreSQL JDBC Driver。
  • allowReadOnly:boolean类型,用于设置connection是否允许设置readonly模式,默认为false,若该参数不被设置为true,则执行connnection.setReadOnly不生效。
  • blobMode:string类型,用于设置setBinaryStream方法为不同的数据类型赋值,设置为on时表示为blob数据类型赋值,设置为off时表示为bytea数据类型赋值,默认为on。
  • connectionExtraInfo:Boolean类型。表示驱动是否上报当前驱动的部署路径、进程属主用户到数据库。
    说明:

    取值范围:true或false,默认值为false。设置connectionExtraInfo为true,JDBC驱动会将当前驱动的部署路径、进程属主用户上报到数据库中,记录在connection_info参数(参见connection_info)里;同时可以在PG_STAT_ACTIVITY和PGXC_STAT_ACTIVITY中查询到。

user

数据库用户。

password

数据库用户的密码。

示例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
//以下用例以gsjdbc4.jar为例,如果要使用gsjdbc200.jar,请替换驱动类名(将代码中的“org.postgresql”替换成“com.huawei.gauss200.jdbc”)与连接URL串前缀(将“jdbc:postgresql”替换为“jdbc:gaussdb”)。
//以下代码将获取数据库连接操作封装为一个接口,可通过给定用户名和密码来连接数据库。

public static Connection GetConnection(String username, String passwd)
    {
        //驱动类。
        String driver = "org.postgresql.Driver";
        //数据库连接描述符。
        String sourceURL = "jdbc:postgresql://10.10.0.13:25308/postgres";
        Connection conn = null;
        
        try
        {
            //加载驱动。
            Class.forName(driver);
        }
        catch( Exception e )
        {
            e.printStackTrace();
            return null;
        }
        
        try
        {
             //创建连接。
            conn = DriverManager.getConnection(sourceURL, username, passwd);
            System.out.println("Connection succeed!");
        }
        catch(Exception e)
        {
            e.printStackTrace();
            return null;
        }
        
        return conn;
    };

查看更多:华为GaussDB 200 基于JDBC开发
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论