開発用のWindows 10環境にDb2 Community Editionを導入してみました。以前は、開発者用にDb2 Express-Cが無償提供されていたのですが、Db2 Community Editionに変わったようです。少しハマったのでメモを残しておきます。Windows 10とDb2のバージョンは以下のとおりです。
- Windows 10 Enterprise version 20H2
- Db2 Community Edition version 11.5
ダウンロードしてインストールするところまでは順調でしたが、SAMPLEデータベースを作ろうとして、db2sampl
コマンドを実行したところ、以下のようなエラーが発生しました。メッセージに表示されているユーザーID: "XXXXXXXXX"はWindows 10のログイン・ユーザーであり、Db2導入時に指定したDB2管理者ID1ではありません。
C:\study>db2sampl
Creating database "SAMPLE"...
Attempt to create the database "SAMPLE" failed.
SQL1092N このユーザー ID
には要求されたコマンドまたは操作を実行する権限がないため、要求されたコマンドまた
は操作が失敗しました。 ユーザー ID: "XXXXXXXXX"。
'db2sampl' processing complete.
以下の方法で解決しました。
まず、doDb2sample.batというバッチファイルを作成し、以下の内容を記述。
db2sampl > doDb2sampl.log
runasコマンドで、上記バッチファイルを、導入時に指定したDB2管理者ID(下記実行例ではmyadmin
)で実行。
DB2管理者IDのパスワード入力を求められるので入力。
runas /env /user:myadmin doDb2sampl.bat
doDb2sampl.logに出力された実行結果を確認。
Creating database "SAMPLE"...
Connecting to database "SAMPLE"...
Creating tables and data in schema "MYADMIN"...
Creating tables with XML columns and XML data in schema "MYADMIN"...
'db2sampl' processing complete.
無事SAMPLEデータベースが作成できました。
SAMPLEデータベース以外のデータベースをcreate database
コマンドで作成する場合も同じ要領で作成できますが、この場合はdb2cmd
コマンドでオープンしたDB2コマンド・ウィンドウからバッチファイルを実行する必要があります。
-
導入時に「DB2 Administration Serverのユーザー情報の設定」ダイアログで指定するユーザーIDで、デフォルトは
db2admin
ですが、私は別のローカル・アカウントを指定しました。 ↩