社内SEの話

日々起きたことの記録用

【Oracle】sqlplusでMSVCR100.dllが見つからない

sqlplusでシステムエラーが発生したので、対処方法を解説します

Oracle InstantClient 12cをインストールしてインストール確認のためにsqlplusを実行したらエラーが発生しました。

環境

Windows 10

Oracle InstantClient 12.1

エラーの内容

Oracle InstantClientをインストール完了確認のためにsqlplusを起動したところ、エラーが発生。

oracle,msvcr100

sqlplus.exe - システムエラー
sqlplusでMSVCR100.dllが見つからないため、コードの実行を行てきません。プログラムを再インストールすると、この問題が解決する可能性があります。

原因

sqlplus.exeにはVisual Studio C++ 2010のランタイムが使われており、エラー環境にはランタイムがインストールされていないため発生していました。

Oracle 11gや12cなどのもう古くなったOracleClientなどで発生しがちです。

解決策

Visual Studio C++ 2010のランタイムをインストールしてエラーを発生させないようにします。

ダウンロード

下記からVisual Studio 2010 (VC++ 10.0) SP1のインストーラーをダウンロードします。
インストールするアーキテクチャによってx86、x64と選んでダウンロードしてください。

learn.microsoft.com

インストーラー起動

oracle,msvcr100

同意するにチェックを入れ、インストールをクリック

oracle,msvcr100

インストール中

oracle,msvcr100

完了をクリック

PCを再起動

自動で再起動がしないので、手動で再起動させ、ランタイムを有効化させます。

sqlplusを実行

oracle,msvcr100

正常に動作しました。