DB2 on Docker
RojerChen.2018.10.11
去年處理了一個跟 DB2 有關的案子,那個時候我跟同事分工,同事處理 DB2 的環境,我來處理 ASP.NET MVC 的開發環境,由於我不想在筆電上安裝 DB2,所以每次都只能等回到公司的時候在進行開發,雖然那個時候我知道可以安裝在 Docker 的環境上,但是因為太忙而遲遲沒有研究。
Docker
10.x
docker pull ibmcom/db2express-c (10.x)
11.x
docker pull store/ibmcorp/db2_developer_c:11. (11.x)
執行
docker run -it -p 50000:50000 -e DB2INST1_PASSWORD=db2inst1-pwd -e LICENSE=accept ibmcom/db2express-c:latest bash
docker exec -ti ibmcom/db2express-c bash
DB2
使用 Docker 方式安裝 DB2 其實沒有多困難,對我來說比較難的反而是建立資料庫的部分,原本我想使用資料庫工具來建立相關資料,只不過不知道為何會失敗,所以最後只能透過下指令的方式來處理。
切換身分
su - db2inst1
啟動 DB2
db2start
建立 sample 資料庫
db2sampl
DB2 create/drop database
db2 create db <db_name>
db2 drop database <db_name>
db2 create schema
db2 connect to <database>
db2 create schema <schema_name> authorization <owner>
db2 create schema <schema_name>
db2 list database directory
資料庫語法
開發的過程除了程式碼的版控,資料庫的 Schema 也是要做版控,透過下面兩個語法就可以大概知道資料庫有哪些資料表和資料型態,有了這些資訊後就可以自己寫程式產生對應的說明文件。
#列出 Schgema 裡面的 table or view
select * from syscat.tables where TABSCHEMA = schema_name;
#列出某個 Table 的結構
Select * from Sysibm.syscolumns where tbname = table_name;
Windows 安裝 DB2 Express,需要設定權限
GRANT DBADM ON DATABASE to db2admin
DB2 指定schema
set schema=<schema_name>;
※參考資料
0 意見:
張貼留言