して下さい(dbi-userメーリング・リストではなく)。dedlowに感謝します。Oracleホーム・ディレクトリに$ENV{ORACLE_HOME}を変更させます。パッケージの中の関数SET_MODULE()に渡されます。ithreads付きでコンパイルされている必要があります。スレッド間でデータベース接続を共有することを可能にします。同じデータベース・接続を利用します。リファレンスでなければなりませんこれは空文字列に初期化されます。;データベース・ハンドル属性¶ora_ph_typeデータベース・セッションのためのデフォルトのプレースホルダのデータ型。"ora_type"は、個々のプレースホルダのデータ型を上書きします。値での末尾に付く空白を許すことです。qw(:ora_types);この属性へは以下の値だけが許されます。ORA_VARCHAR2後ろについている空白を削除し、埋め込まれた\0バイトを許します。これは通常、デフォルトのプレースホルダのデータ型です。ORA_STRING後ろについている空白を削除せず、先頭の\0で文字列が終わりにします。ORA_CHAR後ろについている空白を削除せず、埋め込まれた\0を許します。semantics)'を強制します。\%attrパラメータで使うことが出来ます。ora_parse_lang接続されたデータベースにSQLステートメントの解析方法を伝えます。2(古いV7)、7(V7)、そして8(V8)です。その他の値は1と同じ効果を持ちます。ora_auto_lob1(デフォルト)であれば、fetchするとCLOBやBLOBカラムの内容を取り出します。0であれば、fetchするとCLOBやBLOBカラムのLOBロケータを取り出します。更なる詳細は"LOBの取り扱い"をご覧ください。延期することを可能にします。(OCI8とそれ以降のみ)更なる情報は"executeまでのprepareの延期"をご覧ください。DBIの\%attrパラメータで使うことが出来ます。ora_typeプレースホルダのデータ型をOracleデータ型を使って指定します。致命的なエラーが発生します。サポートされていません。使われると致命的なエラーを起こします。ORA_NTYORA_RSETの正しい利用方法については"カーソルのバインディング"をご覧ください。ORA_CLOBとORA_BLOBの正しい利用方法については"LOBの取り扱い"をご覧ください。DBIをご覧ください。メタデータ¶get_info()¶DBD::Oracleはget_info()をサポートしています。(現在は)2、3の情報タイプだけです。table_info()¶DBD::Oracleはtable_info()のための属性をサポートしています。schemaの考え方が(現在は)同じです。データ・ディクショナリ・ビューでの所有者の名前がスキーマ名に対応します。Oracleはカタログをサポートしていません。TABLE_CATは無視されます。検索パターンがTABLE_SCHEMとTABLE_NAMEのためにサポートされています。TABLE_TYPEにはテーブル型のカンマで区切られたリストを入れることができます。TABLE_NAMEの順になります。カタログ、スキーマ、テーブル型の特別な一覧がサポートされています。TABLE_CATは常にNULLです。Oracleが返したとおり渡されます。table_info()は大文字/小文字を区別した検索を行います。選択基準は大文字か小文字かを尊重しなければなりません。通常は、識別子は大文字、小文字を区別しません。作成されることがあります。大文字・小文字を区別します。Oracleはそれを与えられたように格納し、返します。primary_key_info()¶Oracleはカタログをサポートしていません。選択基準としては無視されます。取り出された行のTABLE_CATフィールドは常にNULL(undef)です。詳細な情報については"table_info()"を、ご覧ください。PK_NAMEには、SYS_Cnの形式を持つシステムで生成された名前が入ります。KEY_SEQの順になります。Oracleが返したとおり渡されます。詳細な情報については"table_info()"をご覧ください。foreign_key_info()¶このメソッドは(現在)SQL/CLIの拡張された動きをサポートしています。フィールドUNIQUE_OR_PRIMARYは、これらのキーを区別します。Oracleはカタログをサポートしていません。(新しい形式のインターフェースでの)選択基準としては無視されます。NULL(undef)です。更なる詳細な情報については"table_info()"を、ご覧ください。SYS_Cnという形式でシステムが生成した名前が入ります。ACTION')です。DELETE_RULEフィ−ルドには間違った値が入るかもしれません。データ・ディクショナリ・ビューでのバグ(#1271663)として知られています。DEFAULT'はサポートされていません。'CASCADE'は正しく対応付けられています。ACTION'で表されます。DEFERABILITYフィ−ルドは常にNULLです。ORDINAL_POSITIONの順になります。Oracleが返したとおり渡されます。更なる詳細な情報については"table_info()"をご覧ください。column_info()¶Oracleはカタログをサポートしていません。TABLE_CATは無視されます。取り出された行のTABLE_CATフィールドは常にNULL(undef)です。詳細な情報については"table_info()"をご覧ください。CHAR_OCTET_LENGTHフィールドは(現在は)、常にNULL(undef)です。FLOATの長さは違うかもしれません。標準ではない型のデータ型コードは変更されることがあります。(COLUMN_DEF)カラムのLONG型です。ORDINAL_POSITIONの順になります。Oracleが返したとおり渡されます。詳細な情報については"table_info()"をご覧ください。exportを実行するときにNLS_LANGを設定することを確認して下さい。バックアップを得ることになります。exportがに災害に直面してダメージを受ける前に気がついたことがあります。データベースが8ビット文字セットで作成されなければならないことを忘れないで下さい。拡張子が変更された(.dから.ndb)ことにも注意して下さい。<bartley@cc.purdue.edu>により提供されました。このパッケージが既に存在しているものとします。RaiseErrorを設定するので、すべてのDBI呼び出しをチェックする必要はありません。RaiseErrorに慣れていなければDBIドキュメントをご覧下さい。パラメータ無しのPLSQLプロシージャを呼び出します。実行するのに必要なことの基本を示します。プロシージャ呼び出しを囲んで下さい。END;ブロックで囲むのです。1つのINパラメータを持ったプロシージャを呼びます。ステートメントにパラメータを結びつけるために、bind_paramを使います。使うこともできましたが、私はOracleの名前付きプレースホルダのほうが好きです。PROC_INはRAISE_APPLICATION_ERRORを起こし、executeは「失敗」します。RaiseErrorを設定しているので、DBIはcroak(die)し、evalで捕らえることが出来ます。OUTパラメータを追加しました。呼び出しでは、まだプレースホルダを使っています。値をバインドするために、今度はbind_param_inoutを呼ぶということです。通常は必要な分より少し大きめにします。いうことに注意して下さい。executeは$is_odd変数の値を自動的に更新します。呼び出してバインドしています。