問題タブ [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.
ruby - Ruby OCI8 DBI、パラメーターのバインド後に生成されたクエリを確認する方法は?「in」クエリをチェックする必要があります
Ruby-DBIを使用しているときに、「in」クエリのパラメータバインディングに関する問題に直面しています。2つの質問:
- パラメータのバインド後にSQLを生成するにはどうすればよいですか?
in
DBIとOCI8を使用している場合、SQLのパラメーターは正しく機能しますか?
私のコードは次のようになります:
クエリは次のようになります。
助けてください。
ruby - ruby shoes oci8 connectの問題
私の英語でごめんなさい。
ルビー シューズ GUI の開発に興味がありますが、私の実験では、Oracle データベースに接続できませんでした。次のようなコードでファイルを作成しました。
したがって、コンソールから実行すると:
すべて問題ありませんが、実行すると:
私は得るuninitialized constant Object::OCI8 error
手助け?
php - OCI-Lob-> closeがINOUTパラメータに対して機能しないのはなぜですか?
LOBとOCI8PHP拡張機能に関して読んだドキュメントから、$lob->close()
を使用したので、以下のコードを呼び出す必要があるよう$lob->writeTemporary()
です。$lob->close()
INパラメーターを受け入れるストアード・プロシージャーにLOBを渡す場合は正常に機能しますが、IN OUTパラメーターを受け入れるストアード・プロシージャーにLOBを渡す場合は機能しません。
明らかに$lob->close()
、IN OUTパラメーターの呼び出しを省略できますが、なぜそうする必要があるのか知りたいです。誰かが次のエラーを生成する原因となる以下のコードで何が起こっているのか説明してもらえますか?どんな洞察も大歓迎です。
OCI-Lob :: close()[oci-lob.close]:ORA-22289:開いていないファイルまたはLOBに対して%s操作を実行できません
手順は次のp_clob_in_out
ようになります。
Vincent Malgratの回答のおかげでさらに読むと、これが起こっていると思います...私のPHPコードでは、$lob
変数は渡される一時LOBです。その一時LOBは、プロシージャによって変更され、そのコピーが作成されます。 。次に、コピーが渡され、$lob
変数が置き換えられます。このwriteTemporary
メソッドはLOBのコピーで呼び出されなかったため、呼び出す$lob->close()
と失敗します。最初に作成された(私が呼び出すことができる$lob->close()
)元のLOBには、PHPスクリプトからアクセスできなくなりました。
このページの「NOCOPYの制限」では、「サブプログラムがデータベースリンクを介して、または外部プロシージャとして呼び出された場合」、NOCOPYは無視されると記載されているため、NOCOPYヒントはここでは当てはまらないと思います。このページによると、ストアドプロシージャを呼び出しているPHPスクリプトの匿名ブロックは、外部プロシージャと見なされるようです。
php - 多次元配列を Oracle ストアド プロシージャに渡す
カスタムタイプのSPがあります:
PHP (oci8) からこのプロシージャ (多次元配列を渡す) を使用するにはどうすればよいですか?
ありがとう、
アップデート:
これは、Ruby でこれを実行するコードです。
php - 最新バージョンに基づく個別のレコード
エントリのコメントを一覧表示し、ユーザーが既存のコメントを編集できるようにし、それらのリビジョンを追跡します。
テーブル構造:
コメント: ID、概要
リビジョン: comment_id、revision_id、タイムスタンプ
Revisions.comment_id = コメント.id
Revisions.revision_id = 新しいコメントの ID、詳細な説明: 既存のコメントを選択すると、編集フォームが表示され、新しいコメントを入力して送信できます。それを新しいコメントとしてコメント テーブルに挿入し、そのテーブルから最後の ID を取得して、リビジョン テーブルで Revision_id として設定します。
リビジョン テーブルで個別の選択を実行したい (複数の comment_id、revision_id をアプリケーション内で使用する配列に取得するため):
例えば:
しかし、最新のコメント (revisions.timestamp) に基づいて適切なレコードを選択することは可能ですか?
理論的には:
タイムスタンプが最も大きいリビジョンから個別の comment_id を選択します
リビジョン テーブルの例:
この 4 行の例では、クエリが 2 行を返すようにします。
それは:
comment_id = 2、revision_id = 12 タイムスタンプ = 20120222180000
と
comment_id = 5、revision_id = 19 タイムスタンプ = 20120222200000
更新:これでうまくいくようですが、もっと良い方法があれば教えてください
更新:revision_idも含める必要があります。上記のクエリにはcomment_idとtimestampのみが含まれます
これでできました:
php - Error compiling OCI8 with pecl
When I want to install ico8 with pecl I get the following error.
I'm running MAMP (PHP5.3.6), using a Mac OS X lion. PEAR & pecl seem to be installed correctly.
I have been looking for hours and can't seem to fix it and can't seem to find any information on it. Anybody an idea?
ruby-on-rails - ActiveRecord oracle_enhanced アダプタが ruby-oci8 ライブラリをロードできませんでした
rails g scaffold
失敗しましたが、oci スクリプトと irb データ クエリは機能しました。何が問題なのかわかりませんでした。
gem list
:
戻り値0.86E2
Gemfile:
IRB 経由:
php - RedhatLinuxでのMysqliとOCI8のアクティベーション
私はWebの初心者開発者であり、次のような状況にあります。
私の顧客の1人は、Redhat Linuxサーバーでmysqliおよびoracle(oci8)のphp拡張機能を「アクティブ化」したいと考えています。実際の目標は、リモートのUnixサーバー上にあるリモートのOracleデータベースと通信(接続)できるようにすることです。
これらの要件を実装するには、何をする必要がありますか?
また、Redhatサーバーへのリモートアクセスしかできないため、コマンドラインでアクションを使用できる必要があることにも注意してください。
前もって感謝します。
ps:Redhatサーバーにはすでに次のものがインストールされています:Oracle 10g.2 php 5.1.6 Apache 2.2.3
php - SQLのphp oci_executeパターン
私はオラクルのphpで簡単なクエリを持っています:
これは oci_parse を問題なく通過します....
しかし、oci_execute が条件の「無効な識別子」でチョークしないようにするために必要な変換があります。次のように、ステートメントから "and u.username!="foo" and c.event > '2012-01-01'" を削除すると、上記のクエリは正常に機能します。
oci_execute に渡されるユーザーと日付の条件を取得するためのステートメントを構成する適切な方法は何ですか?
ruby-on-rails - インジェクションから保護するRails OCI8
外部の Oracle データベースからのデータを事前入力したい Web フォームを作成しています。Rails OCI8 プラグインを使用しています。
クエリで URL パラメーターを直接使用することで、インジェクションの危険にさらされないようにしたいと考えています。
たとえば、コントローラーでは次のようになります。
ご覧のとおり、params[:provider] は OCI8 クエリに直接渡されます。
Cursor_exec 関数
OCI8はバインドを介してパラメータを適切にサニタイズしますか、またはより安全にするために使用できる方法はありますか?