有馬総一郎のブログ

(彼氏の事情)

2020年10月30日 15:02:42 JST - 3 minute read - Comments - SQL

SQL*Plusだけを個別に(スタンドアローン)でインストールする

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_LANGJapanese_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>

と表示される。

Tags: Oracle

WordPress Contact Form 7で自動で日付を設定するチェックボックスを追加する独自タグを実装 SQL Serverでは○(全角丸)がスペースと同じ扱いになる

comments powered by Disqus