- 様々な DB に対応したアプリを開発する際に便利
- 問題が起きる場合は、ほぼ文字コード (スクリプトの UTF-8 が認識されない)
ダウンロード
PostgreSQL でのインストール
C:> set PGCLIENTENCODING=utf-8 C:> psql -h 127.0.0.1 -p 5432 -d postgres -U postgres SQL> \i Chinook_PostgreSql.sql SQ>> \q
chinookというデータベースが作成され、そこにスキーマが作られる- SQL-Bless からアクセスする時は
sqlbless postgres://postgres@127.0.0.1:5432/chinook?sslmode=disable
Microsoft SQL Server でのインストール
C:> chcp 65001 C:> sqlcmd -f 65001 -S localhost\SQLExpress -d master -i Chinook_SqlServer.sql C:> chcp 932
chinookというデータベースが作成され、そこにスキーマが作られる- SQL-Bless からアクセスする時は
sqlbless sqlserver "Server=localhost\SQLEXPRESS;Database=chinook;Trusted_Connection=True;protocol=lpc;"
MySQL でのインストール
C:> mysql --default-character-set=utf8 C:> source Chinook_MySql.sql
Query OK, 275 rows affected, 275 warnings (0.079 sec) Records: 275 Duplicates: 0 Warnings: 275
などと表示されるのが気になるが、データ自体は登録されている模様。
( --default-character-set=utf8 はもしかしたら要らないかもしれないが念のため )
SQL-Bless からのログインは、sqlbless mysql "root:@/mydb" でも、sqlbless mysql "root:@/chinook" でも可能だったが、前者だとデフォルト DB が mydb になってしまい、カーソルによるテーブル名選択が失敗してしまう問題がある(いずれ直さなくては)
SQlite3 でのインストール
C:> sqlite3 (DBファイル名) < Chinook_Sqlite.sql
のみでよい。SQLite3 は、もともと UTF-8 しかサポートしていないので、cp932 と解釈される心配はない。
Oracle でのインストール
C:> set NLS_LANG=American_America.AL32UTF8 C:> sqlplus /nolog SQL> connect sys/change_on_install@//localhost:1521/XE as sysdba SQL> @Chinook_Oracle
- SQL-Bless でログインする場合は
sqlbless oracle://c%%23%%23chinook:chinook@localhost:1521/xe- ユーザは、CDB(コンテナDB)用の管理ユーザとして
c##chinookが作られているので、接続先はxepdb1ではなくxeを使う - URL的に
#は直接書けないので、かわりに%23を使う(上ではバッチファイル用に%を二つ重ねている)
- ユーザは、CDB(コンテナDB)用の管理ユーザとして