如何从odbc获取主机名和端口

时间:2015-04-02 14:10:14

标签: db2 odbc

ODBC Driver 嗨,我已经配置了系统DSN,它运行良好。所以我忘记了主机名地址和端口号,怎么能通过它找到它?当我选择数据源并单击configure时,它只告诉我用户ID和dbalias。我也看了注册表,只找到这样的东西

  

“Windows注册表编辑器版本5.00

     

[HKEY_LOCAL_MACHINE \ SOFTWARE \ ODBC \ ODBC.INI \ BUS]   “驱动程序”= “C:\ PROGRA〜1 \ IBM \ SQLLIB \ BIN \ DB2CLIO.DLL”

“”“

1 个答案:

答案 0 :(得分:8)

DB2数据库连接由计算机上的DB2客户端软件配置。在客户端软件中定义连接后,它们将显示在“ODBC数据源”面板中。您无法通过控制面板进行配置。

要查看它们,请打开DB2命令窗口,然后发出命令db2 list db directory。这将列出您的系统知道的所有数据库:

C:\Program Files\IBM\SQLLIB\BIN>db2 list db directory

 System Database Directory

 Number of entries in the directory = 2

Database 1 entry:

 Database alias                       = SAMPLE
 Database name                        = SAMPLE
 Node name                            = DB2AED1
 Database release level               = 10.00
 Comment                              =
 Directory entry type                 = Remote
 Catalog database partition number    = -1
 Alternate server hostname            =
 Alternate server port number         =

Database 2 entry:

 Database alias                       = IBMDSMR
 Database name                        = IBMDSMR
 Local database directory             = C:
 Database release level               = 10.00
 Comment                              =
 Directory entry type                 = Indirect
 Catalog database partition number    = 0
 Alternate server hostname            =
 Alternate server port number         =

在上面的示例中,“目录条目类型”表示数据库是本地的(“间接”),即您的计算机上是否运行了DB2服务器),或者数据库是否为远程(“远程”),比如上面的SAMPLE数据库。

要查看SAMPLE的连接详细信息,请记下节点名称(上例中的DB2AED1)并发出db2 list node directory命令:< / p>

C:\Program Files\IBM\SQLLIB\BIN>db2 list node directory

 Node Directory

 Number of entries in the directory = 1

Node 1 entry:

 Node name                      = DB2AED1
 Comment                        =
 Directory entry type           = LOCAL
 Protocol                       = TCPIP
 Hostname                       = mydb2.stackoverflow.com
 Service name                   = 50000

您可以看到DB2AED1位于主机mydb2.stackoverflow.com和端口50000上。如果由于某种原因,“服务名称”字段有一个名称,那么您需要在服务文件中查找(Windows上的%windir%\system32\drivers\etc\services或Linux上的/etc/services