問題タブ [dbi]

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 に答える
2035 参照

perl - Perl の DBI クエリから複数のレコードが返されたかどうかを確認するにはどうすればよいですか?

すでにサイトでこれを検索しましたが、私の質問に答えるものは見つかりませんでした。詳細は次のとおりです。

単純な選択クエリを使用してデータベースにクエリを実行していますが、現実的には (シナリオを考えると) 約 5 ~ 6 レコードを超えることはありません。複数が返されたかどうかを確認したいだけです。複数のリターンがあった場合 (else ステートメントで)、1 つだけが返された場合は、スクリプトを続行します。

私が見つけられなかったスレッドを知っている場合は、この質問に答えてください。リダイレクトしてください。このスレッドを無効にします。

よろしく、BorisTheBulletDodger!

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

ruby - Shoes.setupがそれらを見つけることができるようにruby.gemファイルをどこに置くか?

シューズでの宝石のサポートについて多くの質問がありましたが、どこに置くかについては誰も答えていません。WindowsXPにShoesRaisins1134があり、ダウンロードdbi-0.4.1.gemして次のものを動作させようとしています。

これを実行するとInstalling dbi -- Looking for dbi、gemファイルが見つからない状態が何時間も続くというダイアログが表示されます。私はそれを次のすべての場所に置いてみましたが無駄になりました:

  • 上記のスクリプトを含むフォルダー
  • D:\ Program Files \ Common Files \ Shoes \ 0.r1134 \ ruby​​ \ gems
  • D:\ Program Files \ Common Files \ Shoes \ 0.r1134 \ ruby​​ \ gems \ 1.8 \ gems

どちらが間違っていますか?フォルダまたはコード?

編集-回答:

答えてくれた@Pestoに感謝します。引用されたテキストを読んだことがありますが、Shoesがインストールされたgemファイルをどこに配置したかを参照するために誤解しました。gemソースを取得した場所ではありません。Windows XPでは、参照はに変換され%USERPROFILE%\Application Data\Shoes、インストールは完全に機能しました。今それで遊び始めるために...

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

perl - データベースハンドルをDBD::DB2で切断できないのはなぜですか?

私のperlスクリプトは遅いですが、動作します。私はそれを捨てて、適切なバインドなどを備えた真のDB2アプリケーションを構築することを検討しています。ただし、当面の間は、これをプレースホルダーとして機能させたいと思います。

私はこのドキュメントを見ました、そしてそれは言及します:

ただし、このエラーが発生するため使用できません。

./ProgramTree.plの119行目にあるパッケージ「dbh」(おそらく「dbh」をロードしますか?)を介してオブジェクトメソッド「disconnect」を見つけることができません。

データベースハンドルを再帰的に開いているため、一時的なアプリケーションがリークして成長していることはわかっています。私は何か基本的なものが欠けていますか?

0 投票する
5 に答える
321 参照

database - 何百もの同時実行プロセスが、1 つまたはいくつかの永続的なセッションを介してデータベースと通信するようにするにはどうすればよいですか?

長いスピーチの短い: 1 つまたはいくつかの永続的なセッションを介して、同時に実行されている何百ものプロセスがデータベースと通信するようにするにはどうすればよいですか?

全体的な話:
私はかつて、膨大な量の大きなデータ ファイルを処理する数値演算エンジンを構築しました。このエンジンは、子プロセスを次々と分岐させて、それぞれに少数のファイルを処理させました。ファイルのロック、進行状況の監視、および結果の伝播は、DBI をカプセル化するアプリケーション固有のモジュールを使用して、すべての (サブ) プロセスがさまざまな時点でアクセスする Oracle データベースで発生します。

これは最初はうまく機能していましたが、入力データの量が増えているため、データベース セッションの数 (子ごとに 1 つ、存続期間が非常に短い可能性があります) が絶えず開いたり閉じたりすることが問題になりつつあります。すべての (サブ) プロセスのすべてのデータベース アクセスを処理する固定データベース セッションが 1 つまたは少数になるように、データベース アクセスを集中化したいと考えています。データベース抽象化モジュールの存在により、ワーカー インスタンスでの関数呼び出しが同じままで済むため、変更が容易になります。私の問題は、すべてのプロセスとデータベースコネクタ間の通信を確立するために、上記のモジュールを拡張する適切な方法を考えられないことです。

メッセージ キューイングを考えましたが、大量のリクエスタを 1 つまたは少数のデータベース コネクタに接続して、双方向通信が可能になる方法 (クエリ結果を収集するため) を思いつきませんでした。
ここでは、すべてのリクエストが同じキューに書き込まれ、リクエストを処理するデータベース コネクタが「コールバック」して結果を送信する非同期アプローチが役立ちます。しかし、私の心は、コードにペイントできるほど明確なイメージを生成することができません。
フォークの代わりにスレッド化したほうが簡単に始められたかもしれませんが、これにはコード ベースに大規模な変更が必要になり、実際のシステムに対して行う準備ができていません。

考えれば考えるほど、基本的なアイデアは、Web ページではなくデータベース クエリを提供するという点だけで、事前にフォークされた Web サーバーのように見えます。何をどこで掘り下げるかについてのアイデアはありますか? 私にインスピレーションを与えるサンプル(疑似)コード、おそらく関連する記事へのリンク、CPANの既製のソリューションでしょうか?

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

sql - How can I avoid the program quitting when Perl's DBI encounters an error preparing a statement?

I'm making a script that goes through a table that contains all the other table names on the database. As it parses each row, it checks to see if the table is empty by

Some tables don't exist in the schema anymore and if I do that

directly into the command prompt, it returns the error:

206: The specified table (adm_rpt_rec) is not in the database.

When I run it from inside Perl, it appends this to the beginning:

DBD::Informix::db prepare failed: SQL: -

How can I avoid the program quitting when it tries to prepare this SQL statement?

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

python - perlのdbi/DBD::Proxyアクセスに相当するPython? (Perl DBI/DBD::Python のプロキシ)

WinXPのpython 2.6でアクセスしたいDBIモジュールを介して既存のデータベース(データベースのタイプは不明)とやり取りするPerlスクリプトがあります。

Perl コードは次のとおりです。

これはpythonの同等物に翻訳できますか?

( Is there any pywin32 odbc connector documentation available? ) の例に従って、以下をまとめました。

しかし、私はエラーが発生します:

アップデート

別の Perl モジュールである DBD::Proxy が、実際のクエリを処理する Perl DBI::ProxyServer (サーバー側) 実装への実際のインターフェイスを提供しているようです。

Python を Perl ベースのDBI::ProxyServerとのインターフェースに使用できますか?

http://metacpan.org/pod/DBD::プロキシ

http://hell.org.ua/Docs/oreilly/weblinux/dbi/ch08_02.htm

0 投票する
12 に答える
44708 参照

perl - 処理するために2つの別々の呼び出しを実行せずに、DBIで行数を取得するにはどうすればよいですか?

私はPerlでDBIを実行していますが、プリペアドステートメントを実行すると、返される行数が0であるかどうかを判断する方法がわかりません。

行をフェッチするwhileループ内にカウンターを設定できることに気付きましたが、それを行うための醜い方法がないことを望んでいました。

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

perl - Perl + Postgresql:RAISE NOTICEが存在する場合、関数は値を返しません

DBIを使用してPerlスクリプトからPL/PgSQLまたはPL/Perl関数を呼び出すと、関数でRAISE NOTICEまたはelog(NOTICE)が使用されている場合、値が返されないことに気付きました。説明する:

簡単な表:

単純な関数:

Perlスクリプトの一部:

そのまま、テーブルの値を出力します。

ただし、次のようにRAISE NOTICEを追加しても、結果は得られません。

私は何かが足りないのですか、それともそのような振る舞いは仕様によるものですか?

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

perl - Perl DBI 動的 fetchrow while ループ

そのテーブルのすべてのフィールド名を取得し、それらを配列に格納し、その配列を別のSQLクエリのfetchrowと組み合わせて使用​​して、それらのフィールドにデータを表示するサブにテーブル名を渡そうとしています。これが私が今持っているコードです:

パラメータとしてテーブル名を使用したサブ呼び出しの例:

シャモー サブ:

これを明示的に定義する必要のないものに変える方法を探しています....