Skip to content

Instantly share code, notes, and snippets.

@hymkor
Last active May 19, 2026 02:52
Show Gist options
  • Select an option

  • Save hymkor/87c6a074607d01b1edd443319f88c999 to your computer and use it in GitHub Desktop.

Select an option

Save hymkor/87c6a074607d01b1edd443319f88c999 to your computer and use it in GitHub Desktop.
有名なサンプルデータベース Chinook Database の Windows 環境でのインストールの仕方

有名なサンプルデータベース Chinook Database の Windows 環境でのインストールの仕方

問題が起きる場合は、ほぼ文字コード (スクリプトの 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 でのインストール

  • 最新版のスクリプトは、複数行INSERTという Oracle 23c 以降でしかサポートされていない SQL を使用している。
  • 23c 以前の環境では v1.4.4 を使う必要がある。 #45
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 を使う(上ではバッチファイル用に % を二つ重ねている)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment