問題タブ [dbd]
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.
perl - Perl の DBD::DB2 がインストール中に dbivport.h を見つけられないのはなぜですか?
Perl ユーティリティを使用して、DB2 データベースからデータをダンプしています。DBI パッケージをインストールしましたが、DBD パッケージも要求しています。
root アクセス権がなく、DBD パッケージをインストールしようとすると、次のエラーが発生します。
どうすればこれを修正できますか? これを解決するには root アクセスが必要ですか?
perl - DBD::CSV: ファイル名拡張子の問題
このスクリプトでは、ファイル名拡張子に問題があります: /home/mm/test_x を使用すると動作しますが、/home/mm/test_x.csv という名前のファイルでは動作しません:
ファイル名拡張子付きの出力:
DBD::CSV::st 実行に失敗しました:
実行エラー: No such column '"/home/mm/test_1.csv".id' が /usr/local/lib/perl5/site_perl/5.12.0/x86_64-linux から呼び出されました/DBD/File.pm で 570。
ファイル名拡張子なしの出力:
'1', 'Brown', 'Laramie'
'2', 'Smith', 'Watertown'
2 行
これはバグですか?
猫のテスト_1.csv
ID、名前
1、ブラウン
2、スミス
5、グリーン
猫のテスト_2.csv
id、都市
1、ララミー
2、ウォータータウン
8、スプリングビル
sql - DBD::CSB ステートメント関数に関する質問
SQL::Statement::Functions ドキュメントから:
関数構文
SQL::Statement/SQL::Parser を直接使用して SQL を解析する場合、関数 (組み込みまたはユーザー定義のいずれか) は、値、列名、テーブル名、または述語が発生する可能性がある SQL ステートメントのどこにでも発生する可能性があります。DBD を介してモジュールを使用する場合、または SQL の解析と実行の両方が行われるその他のコンテキストでモジュールを使用する場合、FROM 節を含む SELECT ステートメントの列選択節では関数を使用できないことを除いて、同じ場所で関数を使用できます。
# 解析と実行の両方に有効
# 解析にのみ有効 (DBD からは機能しません)
これを読むと、私の例の最初の SELECT ステートメントは機能せず、2 番目の SELECT ステートメントは機能するはずですが、まったく逆です。
出力:
SELECT 1
'7'
1 行SELECT 2
/usr/lib/perl5/site_perl/5.10.0/SQL/Parser.pm 行 2893 に不明な関数 'MAX' があります。DBD
::CSV::db の準備に失敗しました: /usr/lib/ に不明な関数 'MAX' がありますperl5/site_perl/5.10.0/SQL/Parser.pm 行 2894.
[ステートメント "SELECT * FROM test WHERE id = MAX( id )" の場合] ./so_3.pl 行 30.
DBD::CSV::db 準備失敗: /usr/lib/perl5/site_perl/5.10.0/SQL/Parser.pm 行 2894 で不明な関数 'MAX'
。 .pl 行 30。
誰かが私にこの振る舞いを説明してもらえますか?
perl - Perl-DBDOracleの使用時にファイルが多すぎるというエラー
以下のコードでファイルを開くときにエラーが発生する理由について誰かにアドバイスできますか?エラーは、25スレッドの9回目の反復の約半分から始まり、「開いているファイルが多すぎます」エラーです。このエラーは、スレッドで実行している場合、およびDBI接続/切断が使用されている場合にのみ発生します。これは、開いているファイルの数にまったく影響しないはずですか?私はPerlにかなり慣れていないので、何か変なことをしたかどうかはわかりません。これはPerl5.8.8にあります。Solaris10の場合。
mysql - Catalyst 作成スキーマは接続できませんが、接続できます
だから私は接続できます(明らかに、すべての実際の値を置き換えました)
しかし、Catalyt の create スクリプトを実行すると、
dbサーバーがwhereiam.comからの接続を許可していないように動作しますが、コマンドライン経由で問題なく接続でき、一時的にどこからでも接続できるようにdbを開こうとしましたが、まだ成功していません。提供できる情報が少なくて申し訳ありませんが、それが現在私が持っているすべてです。
perl - DBD::CSV: ヘッダーを小文字で返します
モジュールDBD::CSV v0.30 に問題があります。newes バージョンへの更新以降、fetchrow_hashref で生成されたハッシュのすべてのヘッダーは、大文字小文字混合ではなく小文字になります。
最後に、データは mysql データベースにコミットされ、列ヘッダーは大文字と小文字が混在する必要があります。
これは、DBD::CSVを使用したスクリプトのスニペットです。
これは csv ファイルのスニペットです。
実際の fetchrow_hashref は次のようになります。
$sth->fetchrow_hashref() メソッドでいくつかのことを試しました。パラメータ「NAME」、「NAME_lc」、「NAME_uc」を使用しました。最初と 2 番目はヘッダーを小文字に変換し、3 番目は大文字に変換します。
ご協力いただきありがとうございます。
php - mod_dbdを使用してphpを使用してmysqlに接続する
mod_dbd を使用して、PHP アプリケーションの接続プールを実装したいと考えています。Apache の mod_dbd モジュールを定義でき、それが開いている接続を確認できますが、php コードでそれらの接続を「フック」することはできません。mysql_pconnect と同様に、パラメーターを使用して、または使用せずに mysql_connect を試していました。
アドバイスを歓迎します。
アリエル
windows - Windows の ActivePerl に DBD-Oracle 1.17 を手動でインストールするにはどうすればよいですか?
Active Perl 5.8.8 Build 822 を WindowsXP にインストールした後、Perl Package Manager の [View All Packages] に DBD-Oracle が表示されません。同じ CPAN の場所はhttp://search.cpan.org/dist/DBD-Oracle-1.17/ですが、この tar(DBD-Oracle-1.17.tar.gz) を手動でインストールするプロセスがわかりません。アクティブパールで。
perl - Perl の DBD::SQLite を使用しているときに、SQLite がトランザクションの 2 番目のクエリに対して「データベースがロックされています」と表示するのはなぜですか?
Perl DBD::SQLite を使用しているときに、単一のトランザクションで 2 番目のクエリに対して「データベースがロックされています」というエラーを与える SQLite に関する既知の問題はありますか? シナリオ: Linux、Perl DBI、AutoCommit => 0、2 つのコード ブロックを含むサブルーチン (ブロックを使用して変数名をローカライズ)。最初のコード ブロックでは、select ステートメントの prepare() によってクエリ ハンドルが作成され、それが execute() され、ブロックが閉じられます。2 番目のコード ブロックでは、update ステートメントの準備によって別のクエリ ハンドルが作成され、頻繁に (30% の確率で) SQLite/DBI がこの段階でデータベース ロック エラーを返します。エラーは、execute() 中ではなく、prepare() 中に発生すると思います。
私の回避策は、最初のクエリの後にコミットすることです。(最初のクエリで終了を呼び出しても役に立ちませんでした)。エレガンスとパフォーマンスに関連するいくつかの理由から、コミットしないことを好みます。元のコードは、データベースとして Postgres を使用して、何年もの間問題なく動作していました。効果なしで sqlite_use_immediate_transaction を試しました。
他のすべての状況では、SQLite が非常にうまく機能することがわかったので、これは SQLite の問題ではなく、DBD ドライバーの見落としであると思われます。悲しいことに、私の現在のコードはスクリプトとモジュールの大きな山であるため、短い単一ファイルのテスト ケースはありません。