Rainbow Planet (GT×IT×SP×SA)

IT技術を分かりやすく簡潔にまとめることによる学習の効率化、また日常の気付きを記録に残すことを目指します。

01_IT技術 (Technology)

PythonでSQLAlchemyを使ってOracleDBに接続する際に遭遇したエラーとその対処方法

投稿日:

本記事は次の記事の続編です。
(下記記事の手順を実行する際に遭遇したエラーについての備忘録)
PythonでSQLAlchemyを使ってOracleDBに接続する方法

(0) 目次

(4) エラー対応
 (4-1) エラー1:Cannot locate a 64-bit Oracle Client library
  (4-1-1) エラー原因
  (4-1-2) インストール状況の確認
  (4-1-3) 対処方法
 (4-2) エラー2:
  (4-2-1) エラー原因
  (4-2-2) 対処方法
 (4-3) XXX is not a supported wheel on this platform

(4) エラー対応

(4-1) エラー1:Cannot locate a 64-bit Oracle Client library

(図411)エラー画面

(4-1-1) エラー原因

Oracle Instant Clientライブラリがインストールされていない事が原因と推定されます。

sqlalchemy.exc.DatabaseError: (cx_Oracle.DatabaseError) DPI-1047: Cannot locate a 64-bit Oracle Client library: "The specified module could not be found". See https://oracle.github.io/odpi/doc/installation.html#windows for help

 

PythonからOracleデータベースに接続するには”cx_Oracle”ドライバのみならず”Oracle Instant Client”ライブラリのインストールも必要です。
(図101)

(4-1-2) インストール状況の確認

インストールされている場合は「instantclient_XX_X」(“X”はバージョン番号)のディレクトリがどこかにあるはずなので、確認コマンド等でチェックできます。次のコマンドの例はCドライブの直下を再帰的に検索して「installclient」という文言を含むファイルやディレクトリを検索しています。

dir instantclient* /S

(図411)

目次にもどる

(4-1-3) 対処方法

もし上記の手順で「instantclient_XX_X」のフォルダが存在しない場合、下記リンクで説明している手順にて「Oracle Instant Client」のインストールを実施します。
■Oracle Instant Clientの導入方法について

目次にもどる

(4-2) エラー2:ORA-12541: TNS:no listener

(4-2-1) エラー原因

このエラーは接続先のデータベースサーバにて、リスナーが見当たらない場合に出力されるもので、接続要求を受けるDBサーバー側でリスナーが起動していない等のケースが想定されます。

・エラー前半部分

cx_Oracle.DatabaseError: ORA-12541: TNS:no listener

The above exception was the direct cause of the following exception:

・エラー後半部分

sqlalchemy.exc.DatabaseError: (cx_Oracle.DatabaseError) ORA-12541: TNS:no listener
(Background on this error at: http://sqlalche.me/e/4xp6)

(図429)

目次にもどる

(4-2-2) 対処方法

リスナーが起動していないケースの場合、下記にて説明している手順でリスナーの状態チェックや起動を行います。
①リスナーの状態確認~起動
②データベースの状態確認~起動

■SQL Developer接続エラーへの対処(ORA-12514, ORA-12505)

目次にもどる

(4-3) XXX is not a supported wheel on this platform

このエラーが出た場合、インストールしようとしたパッケージの対応OSが実際のOSと異なっている可能性があります。次の例はWindows 64bitのOSを持つサーバにLinux用の”Oracle Instant Client”をインストールしようとした際のエラーです。

(図431)

正しくWindows 64bit用の資源でインストールしたら正常に終了しました。

XXX_win32.whl →Win32bit用
XXX_manylinux1_x86_64.whl →Linux系OS用
XXX_win_amd64.whl →Win64bit用

インストールの手順については下記にて記載しています。
■cx_Oracleのインストール方法

目次にもどる

Adsense審査用広告コード


Adsense審査用広告コード


-01_IT技術 (Technology)

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

VBAによるマトリクスの行列を反転させて転記するプログラム

(0)目次&概説 (1) マクロ概要 (2) 使用方法 (3) アルゴリズム概要 (4) プログラム (1) マクロ概要 マトリクス形式で表現されたデータの行と列を入れ替えるプログラムです。 (※Ex …

ORA-00257エラーの対応(“archiver error. Connect Internal only. until freed”)

ORA-00257エラーの対応法についてです。 (“archiver error. Connect Internal only, until freed”) (0) 目次 (1 …

CentOS6の日本語入力の設定中に起きた「Unable to keep Input Method running」エラーや文字化けの対処方法について

(0)目次&概説 (1) 記事の目的 (2) 日本語化の対応手順 (3) 各パッケージの補足説明 (4) エラー対処:IBusの”Unable to keep Input Method R …

2019年クリスマスのディズニーシーの様子とダッフィーグッズのレポート~

(0)目次&概説 (1) 今回のテーマ:クリスマスシーズン  (1-1) 2019クリスマス版ダッフィちゃん  (1-2) クリスマスの飾り  (1-3) アメリカンウォーターフロント  (1-4) …

【PL/SQL】”UTL_FILE”パッケージを利用して”.TXT”を読み込む方法

今回はPL/SQLのUTL_FILEパッケージを利用して、サーバ内にあるテキストファイルを読み込むプロシージャを作成したいと思います。 (0) 目次 (1) 事前準備:ディレクトリオブジェクトの作成( …

Top