問題タブ [oci8]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
1998 参照

php - PHP と Oracle は複合型を相互に渡すことができますか?

PHP を使用して、(key1, key2) の配列を Oracle PL/SQL ストアド プロシージャに渡したりバインドしたりしたいと考えています。プリミティブ型とプリミティブ型の配列をバインドできますが、複雑なデータ型をやり取りする方法が見つかりません。

これはサポートされていませんか? これまでは、複数の配列 (複合型のサブタイプごとに 1 つずつ) を渡してから、それらのインデックスに依存してプロシージャ内でそれらを再構成する必要がありました。

0 投票する
0 に答える
434 参照

php - How can I connect PHP 5.1 to Oracle 7?

I have been able to query newer Oracle databases using the PHP oci8 extension with the Oracle 10.2 Instant Client. Unfortunately, the Oracle Instant Client seems to be unable to connect to an Oracle 7 database (version 7.3.3 to be precise).

Is there a way to query an older Oracle database from PHP?

0 投票する
2 に答える
1890 参照

ruby - 'require' の OCIError; 許可の問題?

最近、職場で Ruby の学習/使用を開始したばかりです。Oracle 10g データベースに接続し、select を実行し、結果を画面に表示するだけの非常に単純なテスト スクリプトを作成しました。これは、Solaris 10 サーバー上にあります。「アプリ」ユーザー (自動化されたスクリプトを実行するシステム ユーザー) としてスクリプトを実行すると、スクリプトは問題なく実行されます。自分で実行すると、エラーがスローされます。

私の環境変数は「アプリ」ユーザーのものと一致します。これは、ファイル/ディレクトリなどのアクセス許可の問題であると想定していますが、どこから調べればよいかわかりません。oci8.rb ファイルの 25 行目は、「require 'oci8lib_18'」ディレクティブです。oci8lib_18.so ファイルとそれにつながるディレクトリの読み取りと実行のアクセス許可を持っていますが、どのディレクトリにアクセスする必要があるかわかりませ

アクセス許可を確認する必要があるファイル/ディレクトリについて誰か提案がありますか? または、問題が何であるかについての他の考えはありますか?

更新OCI8 をサポートしている担当者にメールを送信したところ、いくつかの Oracle ディレクトリに、私のログインが必要な情報にアクセスできない権限があることがわかりました。簡単なテストとして sqlplus を実行しようとしましたが、これも失敗しました。

デイブ

0 投票する
1 に答える
362 参照

php - ADO MoveFirst および EOF、BOF に代わる OCI8 はありますか?

ADO レコード セットと Oracle データベースを使用して従来の ASP で記述されたアプリケーションを PHP5 および OCI8 に移植する可能性を調査しています。パフォーマンスのために、バインド変数を使用したスト​​アド プロシージャとクエリが多数あります。

私の問題は、MoveFirst、MoveNext、MovePrevious と一緒に ADO クラスと EOF および BOF インジケーターを使用するのが面倒になったことです。

OCI モジュールに同様の機能が見つかりません。希望はありますか?

0 投票する
3 に答える
2204 参照

oracle - Ubuntuエラーのoci8

電子ブックUnderground Oracle-PHP-manualに従って、ubuntuにoracle xe 10g、apache、phpをすでにインストールしています。しかし、oci_connect() を使用してファイル接続 oracle-PHP を実行すると、エラーが表示されます。

助けてください !!!

0 投票する
4 に答える
26035 参照

php - xampp用のOracleインスタントクライアントをインストールする方法

XAMPP for Windows 1.7.3 がインストールされています。

Zend Framework を使用しており、pdo_oci8 拡張機能を使用する必要があります。拡張機能を有効にしましたが、oci.dll ファイルが見つからないというエラーが表示されます。

Oracle から instantclient_11_2 zip ファイルをダウンロードしました。解凍しました。多数のdllファイルが含まれています。

これをWindowsにインストールするにはどうすればよいですか?cmd プロンプトを実行するか、xampp の下の特定のフォルダーに移動する必要がありますか?

0 投票する
2 に答える
17248 参照

php - Oracle SQLクエリで最初に数字でソートする方法は?

このテーブルには varchar2 である「タイトル」フィールドがあり、すべての行を選択して、最初に番号で並べ替え、次に通常のようにアルファベットで並べ替えたいと考えています。

たとえば、私は現在ORDER BY title、最後に単純なものを使用してこれを取得しています。

  • Abc
  • 定義
  • 321

しかし、私はこれが欲しい:

  • 321
  • Abc
  • 定義

奇妙なことに、SQL Developer は「正しい」順序で数字を最初に表示します。しかし、私のアプリ (OCI8 を使用する PHP) では、数字が最後に表示されます。

0 投票する
2 に答える
1563 参照

php - PHPとは別のサーバー上のOracleデータベースに接続します

こんにちは私はデータベースエンジンをリモートサーバーに置いていますが、Webサーバーはローカルにあります。私は、サーバーがWebサーバーとデータベースエンジンの両方を備えているクライアントサーバーアーキテクチャでほとんど作業してきました。次に、別のサーバーにあるOracleデータベースに接続する必要があります。

誰か私に何か提案をしてもらえますか?ODBC_CONNECTが機能しない可能性があると思います。OCI8ドライバーを使用しますか?データベースサーバーに接続するにはどうすればよいですか。

また、データベース呼び出しの数が非常に多いので、持続的接続を使用するのは良いですか、それとも個別のデータベース呼び出しを使用しますか?

0 投票する
1 に答える
518 参照

php - エラーではなく PHP 警告として表示される Oracle 例外

oci8 インターフェイスを使用して Oracle データベースとやり取りしています。

私の問題は、Oracle コードが適切なメッセージとコードで例外を発生させるたびに、PHP がエラーではなく警告を発することです。

エラーコードにアクセスする必要がありますが、oci_error は常に false を返します (エラーではなく警告であるためと思われます)。

これらの警告をエラーとして表示し、oci_error の呼び出しを正しく設定する方法はありますか?

0 投票する
2 に答える
153 参照

php - トランザクションにアクセスしてコミットまたはロールバックするための推奨される方法は何ですか?

トランザクションがどのように機能し、すべてが期待どおりに機能するかは理解していますが、トランザクションをコミットまたはロールバックするために接続にアクセスする方法が好きではありません。

同じシングルトン接続オブジェクトにアクセスできる 3 つのサービス クラスがあります。これら 3 つのことを 1 つのトランザクションでラップしたいので、次のようにします。

getSingletonConnection によって返される接続オブジェクトは、oci8 接続の単なるラッパーであり、コミットはoci_commit; ロールバックはoci_rollback

前述したように、これはすべて同じ接続にアクセスしているため機能しますが、任意のサービス オブジェクトを介して接続にアクセスするのは間違っていると感じます。また、私のアプリでは 2 つの異なるデータベースが使用されているため、正しいデータベースを取得してコミットする必要がありますが、それを回避する方法があるかどうかはわかりません。

トランザクションを処理するためのより良い方法はありますか?