Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonからcx_Oracleを使ってOracleデータベースに接続する方法

Pythonは「cx_Oracle」というパッケージを使用することで、Oracleデータベースに接続できます。Oracleは世界的に広く利用されている代表的なデータベースの一つであり、Pythonの優れたデータ処理機能と組み合わせることで、その真価を発揮します。本記事では、PythonからOracleデータベースへ接続し、SQLクエリを実行する方法を解説します。

cx_Oracleのインストール

まず、Oracleとの接続を確立するために必要なPythonパッケージをインストールします。以下のコマンドを実行してください。

実行例

pip install cx_Oracle

Oracleデータベースへの接続

インストールが完了したら、cx_Oracleモジュールを使ってOracleサービス名経由でデータベースに接続します。接続後はカーソル(cursor)を作成し、そのカーソルを通じてSQLクエリを実行することで、テーブルの作成などの操作が可能になります。

データベース接続時には予期しないエラーが発生する可能性があるため、try〜except構文で例外処理を行い、最後にfinallyブロックでカーソルと接続を確実に閉じるのがベストプラクティスです。

サンプルコード

import cx_Oracle

# データベースへの接続
con = None
cursor = None
try:
    con = cx_Oracle.connect('username/password@servicename')
    cursor = con.cursor()

    # テーブルの作成
    cursor.execute("create table TableName(COL1 VARCHAR2(200), COL2 NUMBER(8))")
    print("Table Created")

except cx_Oracle.DatabaseError as e:
    print("Problem connecting to Oracle", e)

finally:
    # すべてのデータベース操作を終了
    if cursor:
        cursor.close()
    if con:
        con.close()

上記のコードを実行すると、次のような結果が出力されます。

出力結果

Table Created

このように、cx_Oracleを使えば数行のコードでPythonとOracleデータベースを連携させることができます。接続文字列の形式は「ユーザー名/パスワード@サービス名」となっており、環境に合わせて適宜変更してください。また、最新のOracle Databaseでは後継ライブラリである「python-oracledb」の利用も推奨されているため、新規プロジェクトではこちらの検討もおすすめします。

  1. Oracle Database In-Memory Advisor(IMA)とは?機能と導入メリットを徹底解説

    本記事では、Oracle Database 12cの機能であるOracle In-Memory Advisor(IMA)について解説し、その導入メリットを紹介します。この機能は、Oracle Databaseバージョン12.1.0.2以降で利用可能です。 IMAの主なメリット IMAには、以下のような主要なメリットがあります。 分析クエリの高速化 オンライン・トランザクション処理(OLTP)の高速化 アプリケーションの変更が不要 データベース管理者(DBA)によるパフォーマンス最適化作業の負担軽減 In-Memory Advisorが登場する以前は、DBAがIn-Memory Column

  2. Oracle Databaseで統計情報を復元する方法|DBMS_STATSパッケージの活用手順

    本記事では、Oracle® Databaseにおいて統計情報をいつ、どのように復元すればよいのかについて解説します。 はじめに データベース管理者(DBA)ならば、最新の統計情報を収集したところ、かえってオプティマイザが非効率な実行計画を選択してしまう――そんな経験をしたことがある方も多いのではないでしょうか。そのような場合には、パフォーマンスが良好だった時点の統計情報へ復元することを検討するとよいでしょう。 ただし、Oracle Databaseのバージョンによって、統計情報の扱い方には微妙な違いがあります。 Oracle 10gからは、統計情報が自動的に保存されるようになり、容易に復元で