Java IBMDB2—查找数据库的托管位置以进行JDBC连接?
如果我在db2控制台中创建一个数据库(create database CONNTEST),数据库将托管在哪里?我知道我的实例指向localhost:50000,但在我的JDBC应用程序Java IBMDB2—查找数据库的托管位置以进行JDBC连接?,java,db2,Java,Db2,如果我在db2控制台中创建一个数据库(create database CONNTEST),数据库将托管在哪里?我知道我的实例指向localhost:50000,但在我的JDBC应用程序con=DriverManager.getConnection中(url、用户、密码)其中url=jdbc:db2://localhost:50000/CONNTEST返回无效的数据库地址错误。有没有办法从db2控制台本身查看我的数据库托管在哪里?谢谢 可能是本地主机没有映射到您的IP地址或127.0.0.1。您可
con=DriverManager.getConnection中(url、用户、密码)代码>其中url=jdbc:db2://localhost:50000/CONNTEST
返回无效的数据库地址错误。有没有办法从db2控制台本身查看我的数据库托管在哪里?谢谢 可能是本地主机没有映射到您的IP地址或127.0.0.1。您可以从尝试计算机的IP地址开始
确保您的DB2实例正在侦听端口50000。这是默认值,但值得检查
如果这不起作用,可能是权限问题。数据库本身可能正在通过客户端IP、用户名和密码限制访问。例如,MySQL就是这样工作的。可能是本地主机没有映射到您的IP地址或127.0.0.1。您可以从尝试计算机的IP地址开始
确保您的DB2实例正在侦听端口50000。这是默认值,但值得检查
如果这不起作用,可能是权限问题。数据库本身可能正在通过客户端IP、用户名和密码限制访问。例如,MySQL就是这样工作的。如果您可以运行db2命令行,您就可以了解数据库是如何编目的,然后返回到主机地址。我假设您的数据库不是大型机数据库。。。这给目录增加了一些复杂性,我将不再赘述
首先,您将运行db2 list database directory
,您将得到如下输出:
Database 1 entry:
Database alias = DB1
Database name = DB1
Node name = DB1
Database release level = 14.00
Comment =
Directory entry type = Remote
Catalog database partition number = -1
Alternate server hostname =
Alternate server port number =
数据库别名
字段将是您一直连接到的CONNTEST名称。您想知道节点名
字段是什么。数据库名称
字段可能不同,该字段将是数据库在服务器端实际调用的字段
获取节点名后,您将运行db2listnodedirectory
。您将从数据库条目中查找与节点名称匹配的节点条目:
Node 1 entry:
Node name = DB1
Comment =
Directory entry type = LOCAL
Protocol = TCPIP
Hostname = db2host.domain.local
Service name = 50000
在这里,您将看到主机名
和服务名
字段,这些字段为您提供了它所连接的主机和端口。如果您可以运行db2命令行,您可以了解数据库是如何编目的,并返回到主机地址。我假设您的数据库不是大型机数据库。。。这给目录增加了一些复杂性,我将不再赘述
首先,您将运行db2 list database directory
,您将得到如下输出:
Database 1 entry:
Database alias = DB1
Database name = DB1
Node name = DB1
Database release level = 14.00
Comment =
Directory entry type = Remote
Catalog database partition number = -1
Alternate server hostname =
Alternate server port number =
数据库别名
字段将是您一直连接到的CONNTEST名称。您想知道节点名
字段是什么。数据库名称
字段可能不同,该字段将是数据库在服务器端实际调用的字段
获取节点名后,您将运行db2listnodedirectory
。您将从数据库条目中查找与节点名称匹配的节点条目:
Node 1 entry:
Node name = DB1
Comment =
Directory entry type = LOCAL
Protocol = TCPIP
Hostname = db2host.domain.local
Service name = 50000
在这里,您将看到主机名
和服务名
字段,它们为您提供了它所连接的主机和端口。是否有办法通过托管数据库的db2控制台进行检查?我肯定它在听50000端口的声音。我不认为这是一个权限问题,因为如果我“连接到CONNTEST用户db2admin”并输入密码,它就会工作(与java提供的参数相同),您知道它的托管位置:根据您所说,它位于您的本地计算机上。这也是JavaURL所说的。问题可能是它无法理解localhost的含义。我会试试你的IP地址,看看是否有用。没有翻译,没有歧义。有没有办法通过数据库所在的db2控制台进行检查?我肯定它在听50000端口的声音。我不认为这是一个权限问题,因为如果我“连接到CONNTEST用户db2admin”并输入密码,它就会工作(与java提供的参数相同),您知道它的托管位置:根据您所说,它位于您的本地计算机上。这也是JavaURL所说的。问题可能是它无法理解localhost的含义。我会试试你的IP地址,看看是否有用。没有翻译,没有歧义。