Db2

未找到數據庫名稱,但我可以使用 IBM Data Studio 進行連接。發生了什麼?

  • April 17, 2020

在 IBM Data Studio 中,我可以創建與名為DBEMP的遠端 IBM DB2 LUW 數據庫的連接並瀏覽模式和數據。

以下是創建數據庫連接的步驟:

  1. 在 IBM Data Studio 的 Database Adminstration Explorer 中,選擇:New -> New Connection to Database。
  2. 在對話框中選擇DB2 for Linux, UNIX, and Windows 。
  3. 在一般屬性中:

數據庫:DBEMP

主機:10.221.5.111

埠號:50001

使用者名:user1

密碼:***** 4. 點擊確定。

但是當我嘗試通過 telnet 命令連接到遠端數據庫伺服器(AIX v7)時:

telnet 10.221.5.111

注意:我使用 root 使用者登錄。

然後我執行這個命令:

/db2/V10.1/bin/db2 connect to DBEMP

我收到了這個錯誤:

SQL1013N 找不到數據庫別名或數據庫名稱“DBEMP”。SQLSTATE=42705

然後我也執行這個命令:

/db2/V10.1/bin/db2 list database directory

結果列表沒有名為“DBEMP”的數據庫。

那麼到底發生了什麼?

如果不存在數據庫名稱,為什麼 IBM Data Studio 可以連接到它?

啊….這與個人資料有關。預設情況下,Root 沒有設置為在其配置文件中設置 DB2 庫,因此它無法辨識 DB2 執行檔。這並不是說 root 不能滿足您的要求,您只需要瀏覽 /instance/bin 文件夾即可找到您想要的執行檔。當然,那你還要擔心root是否有連接權限……

但無論如何,您可能會發現更容易 sudo 到您想要用於連接的 id(甚至可能是實例)sudo - myid。當然,該實例將在其配置文件中設置 DB2。您可能需要設置您的其他 ID。這是我之前提供的一個答案,我在其中向某人展示瞭如何為其配置文件設置 DB2。

我建議您不要通過其配置文件授予 root DB2 訪問權限。

引用自:https://dba.stackexchange.com/questions/41891