UiPath開発をしていて
OracleデータベースにODBC接続してみるけど
エラーが出てきて失敗‥。
ちょっとハマってしまったので
そのとき解決した内容を
備忘録として残しておこうと思います!
システムの種類:64bit
UiPathではODBCの64bitデータソースが表示されない
Connectアクティビティで接続してエラー発生
Connectアクティビティで
・ConnectionString
DSN=データソース名;UID=ユーザID;PWD=パスワード
・ProviderName
System.Data.Odbc
で接続してみると
[Microsoft][ODBC Driver Manager] 指定された DSN には、ドライバーとアプリケーションとのアーキテクチャの不一致が含まれています
というエラーが発生…。
32bitデータソースしか選択できない
ちょっと設定が足りないのかと思い
Connectの詳細画面からConnection Wizardを開きました。
「use user or system data source name」
のドロップダウンから目的のDSN選ぼうとしたが…
ない!!!
色々調べているとこの様な記事を発見。
ODBCの64ビットデータソースがuipathに表示されない
ということで
64bitデータソースは表示されないから
32bitデータソースを作る必要があります!
OracleのODBC32bitデータソースの作り方
Oracle公式サイトから資料をダウンロード
こちらの記事を参考に書いております!
わかりやすく解説!ODBCドライバの設定方法【Oracle(オラクル)】
①Oracle公式サイト ←こちらにジャンプ
②Instant Client for Microsoft Windows (32-bit) をクリック
③「Basic Package」と「ODBC Package」パッケージをインストール
④2つのZipを同一フォルダに解凍
⑤④のフォルダ内にtnsnames.oraを作成
⑥フォルダ内の「sqresus.dll」を別の場所に複製(コピペ)しておく
※この後の作業で何故か消えてエラーが出るのだ…
環境変数の設定
①コントロールパネルからシステムの環境変数設定へ
②以下を設定
・変数名:TNS_ADMIN
・変数値:解凍したパス
コマンドプロンプトでインストール実行
コマンドプロンプトを管理者として実行
「sqresus.dll」を元に戻す
インストール後に
なぜかフォルダ内からsqresus.dll消えまして。。
その後エラーが出て気づきました。。
ここで複製しておいたものを
フォルダに入れ直しておきましょう!
ODBCデータソースを作成
①「Windowsキー」+「R」から「C:\Windows\SysWOW64\odbcad32.exe」
※これは32bitのアドミニストレーター
②「ユーザーDSN」で「追加」
③Oracle in instantclient_19_6 を選択し完了
④OracleODBCドライバ構成を設定
・データソース名
任意
・TNSサービス名
tnsnames.oraで作ったサービス名が
ドロップダウンで出てくるので
目的のものを選ぶ
⑤接続テストを行い、問題なければ完了!!!