【问题标题】:connection issue in connecting Squirrel SQL to DB2 locally在本地将 Squirrel SQL 连接到 DB2 时的连接问题
【发布时间】:2018-03-07 16:42:18
【问题描述】:

我在笔记本电脑上安装了 DB2,并在该实例中创建了一个名为“TEST1”的实例以及两个数据库“DB1”和“DB_TEST1”。

我正在尝试将 squirrel sql 客户端连接到 DB2。我使用 DB1 或 DB_TEST1 作为数据库名称,但收到以下错误消息

test connection 1: [jcc][4038][12241][4.23.42] T2LUW exception: SQL1031N    The database directory cannot be found on the indicated file system.    SQLSTATE=58031
ERRORCODE=-1031, SQLSTATE=58031
class com.ibm.db2.jcc.am.SqlException: [jcc][4038][12241][4.23.42] T2LUW  exception: SQL1031N  The database directory cannot be found on the indicated   file system.  SQLSTATE=58031
ERRORCODE=-1031, SQLSTATE=58031

知道有什么问题吗?

【问题讨论】:

  • 您是否为远程访问配置了 Db2 实例,并确保 Windows 防火墙允许该端口上的流量? jdbc 不使用本地目录。
  • 我刚刚安装了 db2,仅此而已。我还需要做什么?我在本地使用,是否需要配置db2_instance进行远程访问?
  • 另外,请检查您是否可以在命令行上(在 db2ntcmd.exe 中)连接到数据库。
  • 我可以发出命令'db2 connect to db1',它会打印出数据库连接信息,这样就够了吧?
  • 按照ibm.com/support/knowledgecenter/SSEPGG_11.1.0/… 的说明进行操作,如果您已经这样做了,请显示来自 squirrel-sql 的连接字符串

标签: db2 db2-luw squirrel-sql


【解决方案1】:

当您手动创建 Db2 实例时,您需要执行更多手动步骤来配置该 Db2 实例。如果您在安装过程中选择默认值,向导会为您创建和配置一个实例。

您需要为您的 Db2 实例分配一个未使用的端口号,用于侦听 TCP 连接并退回该实例。对于未加密的连接,通常是端口 50000 或 60000。

按照说明here 以及所有相关和附属页面。

然后您需要在连接字符串(也称为“添加别名”屏幕上的 URL:字段)上告诉 Squirrel-SQL 这个端口号。例如,如果使用 Type-4 Db2 驱动程序,则可能会显示如下内容:

jdbc:db2://localhost:50000/sample

其中 localhost 是您的主机名,并且您选择了 Db2 实例应该侦听连接的端口 50000,并且您的数据库名称是 sample。

Db2-instance 必须正在运行,并且监听指定的端口,否则连接会失败。

其他类型的 Db2 驱动程序可以使用不同的 URL 格式。

【讨论】:

  • 它有效,但我的问题是设置实例而不是手动选项的其他选项是什么?
  • db2setup java gui 具有创建默认 Db2 实例并为您配置它的功能。但是,创建自己的 Db2 实例是很常见的,如果您有足够的 RAM 和 CPU,您可以在同一主机名上创建两个或更多实例,每个实例独立于另一个运行。每个都需要单独的配置。这在 Linux/Unix 上很常见,但如果资源允许,它也适用于 Windows。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-02
  • 2010-09-29
  • 2010-12-08
  • 1970-01-01
相关资源
最近更新 更多