您可以通過運行DB2 UPDATE DBM CFG USING FEDERATED YES來設置這個參數。修改這個參數后,必須重新啟動實例才會生效(DB2STOP/DB2START)
.所以你會出現你的 那個錯誤: 未啟動實例
本文說明的是在同一個數據庫實例中,在源數據庫dbsrc中訪問目標庫dbtarget的表table1的方法
用戶名:usr,密碼:pwd
db2 版本: UDB FOR AIX 8.2.2
OS: Microsoft Windows XP Professional version 2002 SP2
DB2 INSTANCE : DB2
DB2 DATABASE : WEBSPC , CRTLSPC
DB2 VERSION: DB21085I 實例 "DB2" 使用 "32" 位和 DB2 代碼發行版 "SQL08029",級別標識為"030A0106"。
參考標記為 "DB2 v8.1.17.789"、"s080813" 和 "WR21440",修訂包為 "17".
這兩個數據庫都在DB2 實例級上運行。 我想使用WEBSPC 去訪問 CTRLSPC 中的表。這是一個聯邦數據庫的概念。
首先:
1. 更新了實例級的參數:
db2 => update dbm cfg using FEDERATED YES
DB20000I The UPDATE DATABASE MANAGER CONFIGURATION command completed。
2. 創建WRAPPER
db2 => create wrapper "DRDA" LIBRARY 'db2drda.dll' OPTIONS( ADD DB2_FENCED 'N')
當運行此命令時, 我得到了 SQL20076N 未對指定的操作啟用數據庫的實例。原因碼 = "1"。 SQLSTATE=0A502。
我檢查過 FEDERATED 參數, 已被修改,不知為何創建WRAPPER 就是不能通過?
請指點。
謝謝!
進入命令行:
1. db2
2. db2 =>update dbm cfg using Federated YES
3. db2 =>db2stop force
4. db2 =>db2start
5. db2 =>conncet dbsrc user user using pwd
6. db2 =>create wrapper drda --library 'libdb2drda.a' (optional)
7. db2 =>create server FP type db2/AIX version 8 wrapper drda AUTID "usr" password "pwd" options(add dbname 'dbtarget', password 'Y');
8. db2 =>CREATE USER MAPPING FOR "usr" SERVER "FP" OPTIONS (REMOTE_AUTHID 'usr' , REMOTE_PASSWORD 'pwd')
9. db2 =>create nickname FP_TABLE1 for FP.USR.table1
這樣就建好了跨庫訪問環境,
可以使用"select * from FP_TABLE1 " 來訪問dbtarget里頭的表table1了。