使用驱动程序包以编程方式连接
Db2 on Cloud 驱动程序包中包含用于将客户机应用程序连接到 Db2 on Cloud 数据库的软件。
JDBC
定义 Java™ 应用程序与 Db2 on Cloud 数据库之间的连接。
先决条件
在尝试连接到 Db2 on Cloud 数据库之前,请验证您是否具有先决条件。
过程
企业和标准套餐
在每个 Java 应用程序中,通过包含 DriverManager.getConnection 方法来指定用户标识和密码,然后包含下列其中一个 JDBC URL 字符串:
-
对于使用 SSL 的连接:
jdbc:db2://<host_name>:<port>/bludb:user=<userid>;password=<your_password>;sslConnection=true;
.NET
定义 .NET 应用程序与 Db2 on Cloud 数据库之间的连接。
先决条件
在尝试连接到 Db2 on Cloud 数据库之前,请验证您是否具有先决条件。
过程
以下步骤显示如何使用 .NET 将应用程序连接到数据库。
-
在命令提示符处输入以下命令。 这些命令将在计算机上的驱动程序配置文件 (
db2dsdriver.cfg
) 中创建新条目,并设置连接属性。 此步骤只需执行一次。-
企业和标准套餐
-
对于使用 SSL 的连接:
db2cli writecfg add -database BLUDB -host <hostname> -port <port>
db2cli writecfg add -dsn <alias> -database BLUDB -host <hostname> -port <port>
db2cli writecfg add -database BLUDB -host <hostname> -port <port> -parameter "SecurityTransportMode=SSL"
其中:
<hostname>
: 服务器的主机名<port>
: 服务器的端口号<alias>
: 要用于建立 .NET 连接的 DSN 别名的名称。 请选择对您有意义的名称;例如,analytics
。
-
-
-
(可选):验证与数据库的 .NET 连接,请在命令提示符处输入以下命令:
testconn40 "DATABASE=<alias>;UID=<user_id>;PWD=<password>;"
其中:
<alias>
: 在步骤 1 中使用 db2cli writecfg 命令创建的 DSN 别名的名称。<user_id>
: 您的 Db2 on Cloud 用户标识。<password>
: 用于连接到 Db2 on Cloud 数据库的密码。
示例
以下语法显示使用 .NET 驱动程序来建立数据库连接的样本 C# 代码。
using System;
using IBM.Data.DB2;
namespace dotNetSSLTest
{
class Program
{
static void Main(string[] args)
{
DB2Command MyDB2Command = null;
// Use the dsn alias that you defined in db2dsdriver.cfg with the db2cli writecfg command in step 1.
String MyDb2ConnectionString = "database=alias;uid=userid;pwd=password;";
DB2Connection MyDb2Connection = new DB2Connection(MyDb2ConnectionString);
MyDb2Connection.Open();
MyDB2Command = MyDb2Connection.CreateCommand();
MyDB2Command.CommandText = "SELECT branch_code, city from GOSALES.BRANCH";
Console.WriteLine(MyDB2Command.CommandText);
DB2DataReader MyDb2DataReader = null;
MyDb2DataReader = MyDB2Command.ExecuteReader();
Console.WriteLine("BRANCH\tCITY");
Console.WriteLine("============================");
while (MyDb2DataReader.Read())
{
for (int i = 0; i <= 1; i++)
{
try
{
if (MyDb2DataReader.IsDBNull(i))
{
Console.Write("NULL");
}
else
{
Console.Write(MyDb2DataReader.GetString(i));
}
}
catch (Exception e)
{
Console.Write(e.ToString());
}
Console.Write("\t");
}
Console.WriteLine("");
}
MyDb2DataReader.Close();
MyDB2Command.Dispose();
MyDb2Connection.Close();
}
}
}
ODBC 或 CLI
定义 Microsoft Windows ODBC 或 CLI 应用程序与 Db2 on Cloud 数据库之间的连接。
先决条件
在尝试连接到 Db2 on Cloud 数据库之前,请验证您是否具有先决条件。
过程
-
在 Linux 操作系统上的命令 shell 中、Windows 命令提示符处或 Windows 操作系统上的 Db2 命令窗口中,输入以下命令:
注:这些命令将在计算机上的驱动程序配置文件 (
db2dsdriver.cfg
) 中创建新条目,并设置连接属性。 此步骤只需执行一次。-
企业和标准套餐
-
对于使用 SSL 的连接:
db2cli writecfg add -database BLUDB -host <hostname> -port <port> -parameter "SecurityTransportMode=SSL"
db2cli writecfg add -dsn <alias> -database BLUDB -host <hostname> -port <port>
其中:
<hostname>
: 服务器的主机名<port>
: 服务器的端口号<alias>
: 您选择的 DSN 别名
-
-
-
(可选):要测试与数据库的连接,请在命令提示符处运行以下命令:
db2cli validate -dsn <alias> -connect -user <user_id> -passwd <password>
其中:
<alias>
是使用 db2cli writecfg 命令创建的 DSN 别名<user_id>
来自预先收集的连接凭证<password>
来自预先收集的连接凭证 -
(可选):要向 Microsoft ODBC 驱动程序管理器注册数据源名称 (DSN),并使用 Microsoft ODBC 应用程序,请运行以下命令。 缺省情况下,会将 DSN 创建为用户 DSN。
db2cli registerdsn -add -dsn <alias>
其中:
<alias>
是使用 db2cli writecfg 命令创建的 DSN 别名
ODBC 数据源管理员
使用 Microsoft ODBC 数据源管理器工具来定义 ODBC 应用程序或 CLI 应用程序与 Db2 on Cloud 数据库之间的连接。
先决条件
在尝试连接到 Db2 on Cloud 数据库之前,请验证您是否具有先决条件。
过程
-
安装 Db2 驱动程序包。
-
打开 ODBC 数据源管理器,并为 Db2 驱动程序包创建“用户 DSN”或“系统 DSN”。
-
单击高级设置。 针对 Db2 on Cloud 服务器,输入以下 CLI 参数的值:主机名、端口和数据库。
-
对于 SSL 连接,请为 CLI 参数安全性输入值
SSL
。 -
单击应用。
-
要测试连接,请返回到 ODBC 数据源管理器的主页。 针对所创建的 DSN,单击配置。 输入服务器的用户标识和密码,然后单击连接。
PHP
定义 PHP 应用程序与 Db2 on Cloud 数据库之间的连接。
先决条件
在尝试连接到 Db2 on Cloud 数据库之前,请验证您是否具有先决条件。
过程
方案 1:从 IBM Cloud 外部进行连接:
-
通过 Web 控制台下载 Db2 驱动程序包,然后在将运行 PHP 应用程序的机器上安装该驱动程序包。
-
使用
odbc_connect
函数 连接到 BLUDB 数据库。PHP 代码示例:
<?php $database = "BLUDB"; # Get these database details from $hostname = "<Host-name>"; # the web console $user = "<User-ID >"; # $password = "<Password>"; # $port = "<non-ssl_port>"; # $ssl_port = "<port>"; # # Build the connection string # $driver = "DRIVER={IBM DB2 ODBC DRIVER};"; $dsn = "DATABASE=$database; " . "HOSTNAME=$hostname;" . "PORT=$port; " . "PROTOCOL=TCPIP; " . "UID=$user;" . "PWD=$password;"; $ssl_dsn = "DATABASE=$database; " . "HOSTNAME=$hostname;" . "PORT=$ssl_port; " . "PROTOCOL=TCPIP; " . "UID=$user;" . "PWD=$password;" . "SECURITY=SSL;"; $conn_string = $driver . $dsn; # Non-SSL $conn_string = $driver . $ssl_dsn; # SSL # Connect # $conn = odbc_connect( $conn_string, "", "" ); if( $conn ) { echo "Connection succeeded."; # Disconnect # odbc_close( $conn ); } else { echo "Connection failed."; } ?>
将此 PHP 代码示例保存到名为
C:\sample.php
的脚本文件中,然后通过命令行运行该脚本,这将生成以下输出:C:\> php –f sample.php Connection succeeded.
方案 2:从 IBM Cloud 中的 PHP Web 应用程序进行连接
-
在 IBM Cloud 目录中,创建新的 PHP 应用程序。
-
在 IBM Cloud“仪表板”中新 PHP 应用程序的“入门”部分中,将应用程序入门模板代码下载到本地工作目录。
-
在 IBM Cloud“仪表板”中,创建从 Db2 服务到新 PHP 应用程序的新连接。 (在 IBM Cloud 中创建此连接将使
VCAP_SERVICES
环境变量可供 PHP 应用程序使用。VCAP_SERVICES
环境变量包含 Db2 服务的数据库详细信息。 与在 PHP 应用程序中对数据库详细信息进行硬编码相比,使用VCAP_SERVICES
更方便。) -
在本地工作目录中,使用
db2_connect
函数更新index.php
文件以连接到 BLUDB 数据库。示例:
<!DOCTYPE html> <html> <head> <title>PHP Starter Application</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <link rel="stylesheet" href="style.css" /> </head> <body> <?php if( getenv( "VCAP_SERVICES" ) ) { # Get database details from the VCAP_SERVICES environment variable # # *This can only work if you have used the Bluemix dashboard to # create a connection from your dashDB service to your PHP App. # $details = json_decode( getenv( "VCAP_SERVICES" ), true ); $dsn = $details [ "dashDB" ][0][ "credentials" ][ "dsn" ]; $ssl_dsn = $details [ "dashDB" ][0][ "credentials" ][ "ssldsn" ]; # Build the connection string # $driver = "DRIVER={IBM DB2 ODBC DRIVER};"; $conn_string = $driver . $dsn; # Non-SSL $conn_string = $driver . $ssl_dsn; # SSL $conn = db2_connect( $conn_string, "", "" ); if( $conn ) { echo "<p>Connection succeeded.</p>"; db2_close( $conn ); } else { echo "<p>Connection failed.</p>"; } } else { echo "<p>No credentials.</p>"; } ?> </body> </html>
-
按照 IBM Cloud“仪表板”中 PHP 应用程序的“入门”部分中的指示信息进行操作,将更新从本地工作目录推送到 IBM Cloud。 然后,在 IBM Cloud 中重新启动该应用程序,并在浏览器中查看该应用程序。