0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

cscriptでOracleDB 19cのODBCを使い接続したところエラー

Last updated at Posted at 2022-07-20

OracleDBのバージョンアップ対応中に、新しいOracleDBに対してODBC接続を行うVBScript(*.wsf)をcsrciptコマンドで起動したときに発生した問題です。

Problem

cscriptでOracleDB 19cのODBCを使い接続したところエラーになる。

前提:

  • OSは、Windows Server 2016。64bit OSです。
  • OracleDBのバージョンは、19cです。
  • ODBCドライバーのバージョンは、同じく。ただし32bit版です。
  • ワークフローを管理するツールから実行すると正常終了するが、あえて手実行すると異常終了する。

コマンドのイメージ:

cscript path\to\script.wsf 

スクリプトのロジックのイメージ:

path\to\script.wsf
Set conn = CreateObject("ADODB.Connection")
conn.Open "Driver={Microsoft ODBC for Oracle};" & _
		"CONNECTSTRING=<tns_name>;UID=<user_schema>;PWD=<password>"

エラーメッセージ:

[Microsoft][ODBC Driver Manager] データ ソース名および指定された既定のドライバーが見つかりません。

Solution

理由はいくつもありえますが、今回は手動実行時に使用した cscript コマンドが64bit版だったのが原因でした。
ワークフロー管理ツールがこのスクリプトを実行するときは、きちんと32bit版のコマンドを利用しているようです。

正しいコマンドのイメージ:

C:\Windows\SysWOW64\cscript path\to\script.wsf 

他にもODBCドライバー名として指定する文字列が誤っているとか、(今回とは逆に)64bit版のドライバーをインストールしてしまっているとか、そもそもODBCドライバーのインストールをしくじっているとか、そういうケースでも同じようなエラーメッセージが出力されることでしょう。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?