Oracle SQL Developerはモッサリしてる。だからSQL*Plusを使いたい。そして、Oracle DBはインストールしなくていいから、SQL*Plusだけをインストールしたい。
ということでググるとそれらしき記事が見付かった。さすがGoogleである。
ダウンロード
さるがSQL*Plusって何?って思ったのでインストールしてみた。 - ponsuke_tarou’s blog を参考にインストール、設定。
Instant Client for Microsoft Windows (x64) 64-bitから、 instantclient-sqlplus-windows.x64-19.8.0.0.0dbru.zip instantclient-basiclite-windows.x64-19.8.0.0.0dbru.zip をダウンロードする。
instantclient-sqlplus-windows.x64-19.8.0.0.0dbruだけ解凍して sqlplus.exe 叩いた場合
---------------------------
sqlplus.exe - システム エラー
---------------------------
コンピューターに OCI.dll がないため、プログラムを開始できません。この問題を解決するには、プログラムを再インストールしてみてください。
---------------------------
OK
---------------------------
となってコマンドプロンプトが固まる。
instantclient-basiclite-windows.x64-19.8.0.0.0dbruもダウンロードして、同じフォルダに解凍する。同じく instantclient_19_8 のフォルダを作られる。
C:\app\oracle
フォルダを作成して、その直下でも解凍した instantclient_19_8 を移動すれば良い。
ユーザー環境変数
環境変数を設定。
環境変数名 | 値 |
---|---|
Path | C:\app\oracle\instantclient_19_8;を追加 |
TNS_ADMIN | C:\app\oracle\instantclient_19_8 |
NLS_LANG | Japanese_Japan.JA16SJIS |
接続文字列
個別に sqlplus インストールした場合、 tnsnames.ora をどこに置けば良いのか、と思ったがTNS_ADMIN
直下に置けば良い。
もし、Oracle DBクライアントを既にインストールしていている場合などは
tnsnames.oraの場所を探す - tak_ism - アットウィキのようにtnsping aaa
を叩いて 出力された sqlnet.ora のパスと同じ場所に置けば良い。
tnsnames.ora が読み取れなかったり、そこに記述のないサービス接続文字列を使って接続しようとすると
ORA-12154: TNS:could not resolve the connect identifier specified
と表示されて失敗する。
文字コード
接続先の文字コードがSJISの場合set NLS_LANG=Japanese_Japan.JA16SJIS
。UTF-8の場合NLS_LANG=Japanese_Japan.AL32UTF8
を設定する。
文字化けする例。NLS_LANG
が設定されてない場合
C:\Users\arimasou16>sqlplus test_user/test_password@test_db
SQL*Plus: Release 19.0.0.0.0 - Production on Wed Oct 28 20:05:49 2020
Version 19.8.0.0.0
Copyright (c) 1982, 2020, Oracle. All rights reserved.
??????????: ? 10? 28 2020 19:27:14 +09:00
Oracle Database 12c Standard Edition Release 12.2.0.1.0 - 64bit Production
?????????
SQL>
文字化けする例。文字コードが SJIS にもかかわらずNLS_LANG
にJapanese_Japan.AL32UTF8
が設定されている場合。
C:\Users\arimasou16>sqlplus test_user/test_password@test_db
SQL*Plus: Release 19.0.0.0.0 - Production on 豌エ 10譛・28 20:07:58 2020
Version 19.8.0.0.0
Copyright (c) 1982, 2020, Oracle. All rights reserved.
譛邨よュ」蟶ク繝ュ繧ー繧、繝ウ譎る俣: 豌エ 10譛・28 2020 20:05:50 +09:00
Oracle Database 12c Standard Edition Release 12.2.0.1.0 - 64bit Production
縺ォ謗・邯壹&繧後∪縺励◆縲
SQL> exit
Oracle Database 12c Standard Edition Release 12.2.0.1.0 - 64bit Production縺ィ縺ョ謗・邯壹′蛻・妙縺輔l縺セ縺励◆縲
C:\Users\arimasou16>
となってしまう。成功すれば
C:\Users\arimasou16>sqlplus test_user/test_password@test_db
SQL*Plus: Release 19.0.0.0.0 - Production on 水 10月 28 20:42:11 2020
Version 19.8.0.0.0
Copyright (c) 1982, 2020, Oracle. All rights reserved.
最終正常ログイン時間: 水 10月 28 2020 20:09:22 +09:00
Oracle Database 12c Standard Edition Release 12.2.0.1.0 - 64bit Production
に接続されました。
SQL>
と表示される。