問題タブ [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.
jdbc - JRruby、Sybase JDBC、およびDBI-AS句の問題で列名をフェッチする
JRubyインタープリターを使用して実行するrubyスクリプトがあります。スクリプトは、DBIおよびSybase JDBC(jTDS3.jarおよびjconn3.jar)を使用してSybaseデータベースに接続します。
私の問題は、テーブルの列名を変更するselectクエリがあることです。例えば:
私の問題は、ドキュメントから直接例を使用する場合です
または単に
クエリで「as」句を使用して設定したため、すべての名前が表示されるわけではありません。いくつかは元のフィールド名であり、いくつかは私が指定した名前です。
たとえば、次のように一覧表示されます。
また
これをSquirrelSQLClientでテストすると、列の名前が正しくなります。これはDBIまたはSybase JDBCドライバーのバグですか?または私は何か間違ったことをしていますか?
どんな助けでも大歓迎です
sql - MySQL は 1 つのクエリで複数の結果セットを返すことができますか?
次の (2 つの個別の結果セットを返す) が proc から正常に実行されていますが、これを基本的なクエリとして実行する場合は同じことができません。
可能?構文は何ですか?
編集:
Ruby の DBI ライブラリを使用しています。
perl - PerlのDBIを使用したSQLクエリからテーブル名を取得できますか?
私はPerlとDBIで小さなスニペットを書いています(SQLite yay!)
クエリが実行されるテーブル名と同じファイル名を持つテキストファイルにいくつかの特定のクエリを記録したいと思います。
結果をテキストファイルにダンプするために使用するコードは次のとおりです。
これが私がこれを呼ぶ方法です:
私が効果的に望んでいるのは、「results.txt」(上記でハードコードされている)に移動する代わりに、「TADA.txt」に移動する必要があることです。
これがテーブル「HAI」と「LOL」の間の結合である場合、結果セットは「HAI.LOL.txt」に書き込まれる必要があります。
私が言っていることは、DBIで魔法を使っても可能ですか?
テーブルのSQLクエリを解析せずに実行したいのですが、 SQLクエリでソーステーブル名を取得するために広く使用され、デバッグされた関数がある場合は、それも機能します。
私が欲しいのは、それがどのクエリ出力を保持しているかについてのヒントを与えるファイル名を持っていることです。今のところ、テーブル名に基づいて分類するのは良い方法のようです。
sql - Perl の DBI で可変引数 SQL 関数のプレースホルダを使用するにはどうすればよいですか?
「バリアディック」が実際に正しい言葉かどうかはわかりませんが、値のリストを取ることができるものについて話しているIN()
. 長い間 DBI を使用してきた場合は、おそらく次のことを試みたことがあるでしょう:
(注: 簡潔にするために、すべての例は非常に単純化されています)
?
私の知る限り、DBI プレースホルダーは単にこの種の悪ふざけをサポートしていません。
これにより、次のようなことをすることになります。
これはそれほど恐ろしいことではありませんが、今日私が書いたような関数を考えてみてください。この関数は、IN
句と値のリストを含む任意の SQL を受け入れる必要があります。
これは最終的に次のようなものによって呼び出されます
これは私の美的感覚を本当に傷つけます。プログラムでカスタム SQL を構築することは、それだけでも十分に大きな苦痛です。必要がなければ、SQL 文字列を正規表現する道をたどりたくありません。
より良い方法はありますか?
database - Perlを使用してMSAccessデータベースに接続するにはどうすればよいですか?
ローカルマシンに.accdbファイルがあり、それに接続してDB内の3つのテーブルからいくつかのデータを読み取ろうとしています。Perlを使用して接続を確立するにはどうすればよいですか?
これまでのところ、MS Accessのためにこれだけまとめましたが、正しいドライバーを使用していないというエラーが表示されます。何か案は?
ありがとう!
編集:明確にするために、私はここに実際の要件はありません。このMSAccessDBから2つまたは3つの選択を行うだけで、それで完了です。したがって、接続と選択に関するサポートは素晴らしいものです。再度、感謝します。
perl - Perl-データベース-接続カウント/エラー処理
perlスクリプト(Perl 5.8.6)を使用して、Sybaseデータサーバーに接続しています。
以下を探しています:
スクリプトによって現在開かれている接続の数。
一般的な(データサーバー固有ではない)エラー処理モジュール/メカニズム
ストアドプロシージャを実行すると、次のエラーメッセージが返されました。
DBD :: Sybase :: st実行に失敗しました:サーバーメッセージ番号=27000重大度=16状態=1行=4サーバー=SYBDEV_HYDプロシージャ=j_errテキスト=しかし、これは/usrで[ステートメント"EXECsandbox..j_err"に対して]実行します/local/lib/perl5/site_perl/5.8.6/DBIx/ContextualFetch.pm行51。
このスクリプトのユーザーは技術者ではないため、「しかし、これはします」というメッセージ(text =の後に表示されます)のみを報告しようとしています。私はこれを解析できますが、他のデータサーバー(MySQL、SQL Serverなど)がエラーメッセージを報告する独自の方法を持っている可能性があるため、汎用モジュールがあるかどうかを確認しようとしています。
database - DBIを使用してデータベースから単一のカウント値をフェッチするにはどうすればよいですか?
次のコードは、単一のカウント値を取得するには多すぎるようです。プレーンDBIを使用して単一のCOUNT値をフェッチするためのより良い推奨される方法はありますか?
これは短いですが、まだ2つのステートメントがあります。
mysql - Perl DBI MySQL エラー メッセージ: 未定義の値に対してメソッド「do」を呼び出すことはできません
シンプルな perl dbi サンプル スクリプトを実行して、mysql データベースに接続し、いくつかの挿入を実行しようとしています。
コード:
しかし、これを使用して実行しようとするperl filename.pl
と、次のようになります
Can't call method "do" on an undefined value at perldbi.pl line 12
do
初めて利用したところです。
私はそれをグーグルで検索しようとしましたが、さまざまな種類のフォーラムを試してみましたが、無駄でした.なぜこれが起こっているのか、これを回避する方法について何か考えがあれば、それは本当に素晴らしいことです.あなたの助けに本当に感謝します. .
mysql - Perl の DBI がプレースホルダーを埋めた後に実行された SQL クエリを印刷するにはどうすればよいですか?
Perl の DBI モジュールを使用しています。プレースホルダーを使用してステートメントを準備し、クエリを実行します。
パラメーターを手動でエスケープしてプレースホルダーにドロップせずに、実行された最終的なクエリを出力することは可能ですか?
ありがとう
perl - Perl の DBI モジュールを使用して、並列配列からデータベースに値を挿入するにはどうすればよいですか?
Perl のDBIモジュールを使用してデータベースに値を挿入する必要があります。ファイルを解析してこれらの値を取得したため、これらの値は配列に存在@array1
し@array2
ます@array3
。一度に 1 つの値を挿入する方法は知っていますが、配列からではありません。
一度に1つの値を挿入することを知っています:
ID を含む array1、名前を含む array2、およびアドレスを含む array3 があるかどうかはわかりません。値を挿入するにはどうすればよいでしょうか。