使用 IBM Db2 CLP 连接到 Amazon RDS for Db2 数据库实例
您可以使用命令行实用程序(如 IBM Db2 CLP)连接到 Amazon RDS for Db2 数据库实例。此实用程序是 IBM Data Server Runtime Client 的一部分。要从 IBM Fix Central 中下载客户端,请参阅 IBM 支持中的 IBM Data Server Client Packages Version 11.5 Mod 8 Fix Pack 0
术语
以下术语有助于解释连接到 RDS for Db2 数据库实例时使用的命令。
- catalog tcpip node
-
此命令将远程数据库节点注册到本地 Db2 客户端,这样客户端应用程序就可以访问该节点。要对节点进行编目,您需要提供诸如服务器的主机名、端口号和通信协议之类的信息。然后,编目的节点表示一个或多个远程数据库所在的目标服务器。有关更多信息,请参阅 IBM Db2 文档中的 CATALOG TCPIP/TCPIP4/TCPIP6 NODE 命令
。 - catalog database
-
此命令将远程数据库注册到本地 Db2 客户端,这样客户端应用程序就可以访问该数据库。要对数据库进行编目,您需要提供诸如数据库别名、数据库所在的节点以及连接数据库所需的身份验证类型之类的信息。有关更多信息,请参阅 IBM Db2 文档中的 CATALOG DATABASE 命令
。
安装客户端
downloading the package for Linux之后,使用根或管理员权限安装客户端。
注意
要在 AIX 或 Windows 上安装客户端,请按照相同的步骤操作,但要修改适用于您的操作系统的命令。
在 Linux 上安装客户端
-
运行
./db2_install -f sysreq
并选择yes
以接受许可证。 -
选择安装客户端的位置。
-
运行
clientInstallDir/instance/db2icrt -s client
instance_name
。将instance_name
替换为 Linux 上有效的操作系统用户。在 Linux 中,Db2 数据库实例名称与操作系统的用户名相关联。此命令在 Linux 上指定用户的主目录中创建
sqllib
目录。
连接数据库实例
要连接到 RDS for Db2 数据库实例,您需要该实例的 DNS 名称和端口号。有关查找它们的信息,请参阅查找终端节点。您还需要知道您在创建 RDS for Db2 数据库实例时定义的数据库名称、主用户名和主密码。有关查找它们的更多信息,请参阅创建数据库实例。
使用 IBM Db2 CLP 连接到 RDS for Db2 数据库实例
-
使用您在 IBM Db2 CLP 客户端安装期间指定的用户名登录。
-
对 RDS for Db2 数据库实例进行编目。在以下示例中,将
node_name
、dns_name
和port
替换为本地目录中节点的名称、数据库实例的 DNS 名称以及端口号。db2 catalog TCPIP node
node_name
remotedns_name
serverport
示例
db2 catalog TCPIP node remnode remote database-1.123456789012.us-east-1.amazonaws.com server 50000
-
对
rdsadmin
数据库和您的数据库进行编目。这将允许您连接到rdsadmin
数据库以使用 Amazon RDS 存储过程执行一些管理任务。有关更多信息,请参阅 管理您的 RDS for Db2 数据库实例。在以下示例中,将
database_alias
、node_name
和database_name
替换为该数据库的别名、在上一步中定义的节点的名称以及数据库的名称。server_encrypt
通过网络加密您的用户名和密码。db2 catalog database rdsadmin [ as
database_alias
] at nodenode_name
authentication server_encrypt db2 catalog databasedatabase_name
[ asdatabase_alias
] at nodenode_name
authentication server_encrypt示例
db2 catalog database rdsadmin at node remnode authentication server_encrypt db2 catalog database testdb as rdsdb2 at node remnode authentication server_encrypt
-
连接到您的 RDS for Db2 数据库。在以下示例中,将
rds_database_alias
、master_username
和master_password
替换为 RDS for Db2 数据库实例的数据库名称、主用户名和主密码。db2 connect to
rds_database_alias
usermaster_username
usingmaster_password
此命令生成类似于以下示例的输出:
Database Connection Information Database server = DB2/LINUXX8664 11.5.9.0 SQL authorization ID = ADMIN Local database alias = TESTDB
-
运行查询并查看结果。以下示例显示了一条 SQL 语句,该语句选择了您创建的数据库。
db2 "select current server from sysibm.dual"
此命令生成类似于以下示例的输出:
1 ------------------ TESTDB 1 record(s) selected.
排除与 RDS for Db2 数据库实例的连接故障
如果您收到以下 NULLID
错误,则通常表示您的客户端和 RDS for Db2 服务器版本不匹配。有关支持的 Db2 客户端版本,请参阅 IBM Db2 文档中的 Supported combinations of clients, drivers and server levels
db2 "select * from syscat.tables"
SQL0805N Package "NULLID.SQLC2O29 0X4141414141454A69" was not found.
SQLSTATE=51002
收到此错误后,必须将旧版 Db2 客户端中的软件包绑定到 RDS for Db2 支持的 Db2 服务器版本。
将旧版 Db2 客户端中的软件包绑定到较新的 Db2 服务器
-
在客户端计算机上找到绑定文件。通常,这些文件位于 Db2 客户端安装路径的 bnd 目录中,扩展名为 .bnd。
-
连接到 Db2 服务器。在以下示例中,将
database_name
替换为 Db2 服务器的名称。用您的信息替换master_username
和master_password
。此用户拥有DBADM
权限。db2 connect to
database_name
usermaster_username
usingmaster_password
-
运行
bind
命令以绑定这些软件包。-
导航到客户端计算机上存在绑定文件的目录。
-
对每个文件运行
bind
命令。以下选项为必填:
-
blocking all
– 在单个数据库请求中绑定该绑定文件中的所有软件包。 -
grant public
– 授予public
执行软件包的权限。 -
sqlerror continue
– 指定即使发生错误,bind
过程仍会继续。
有关
bind
命令的更多信息,请参阅 IBM Db2 文档中的 BIND 命令。 -
-
-
通过查询
syscat.package
目录视图或检查bind
命令后返回的消息,验证绑定是否成功。
有关更多信息,请参阅 IBM 支持中的 DB2 v11.5 Bind File and Package Name List