問題タブ [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.

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

windows - oci.dllエラー、DBDを発生させるPerlスクリプト

Oracleデータベースに接続し、テキストファイルを開き、データベーステーブルのファイルからデータをロードするperlスクリプトがあります。スクリプトは、開発マシン(Windows xp 32ビット)で完全に機能しますが、スクリプトをにロードすると、本番サーバー(Windows 2003 64ビット)をコマンドラインから実行すると、perl.exeが開きます-コンポーネントウィンドウを見つけることができません、メッセージは言います

OCI.dllが見つからなかったため、このアプリケーションを起動できませんでした。アプリケーションを再インストールすると、この問題が解決する場合があります。

コマンドライン出力は次のとおりです。

install_driver(Oracle)が失敗しました:モジュールDBD :: Oracleの「C:/Perl64/lib/auto/DBD/Oracle/Oracle.dll」をロードできません:load_file:%1はC:/Perl64で有効なWin32アプリケーションではありません/lib/DynaLoader.pm 191行目。at(eval 14)line3コンパイルはrequire at(eval 14)行3で失敗します。おそらく、必要な共有ライブラリまたはdllは、c:\ warranty\warrantyImport.pl行で期待される場所にインストールされません。 15

oracleクライアントを再インストールしました。アクティブなperlとoracleクライアントの両方をアンインストールしてから、perlの前にoracleクライアントをインストールしようとしました。これにより、問題が発生する可能性があります。

パーミッションの可能性があると思ったので、oci.dllを開くための簡単なperlスクリプトを作成し、できない場合はエラーを発生させました。正しく開くことができました。

C:\ oracle \ product \ 10.2.0 \ client_1\binがPATH環境変数に含まれていることを確認しました。

SQLPlusを使用してデータベースに接続できます

OCI.dllをperlスクリプトと同じディレクトリに追加しました。

そして、私はついにアイデアを使い果たしました....誰かが何かを提案できますか、私はそれを機能させるために私の髪を引き裂いています。

詳細サーバーはActivePerl5.14.1ビルド1401(64ビット)を実行しています。Oracleデータベースは10gです。Oracleクライアントは10.2.0です。

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

mysql - perlでのDBDとmysqlの問題

私が何時間も試してきたこのコードの問題を追跡するのに問題があります。それは私にエラーDBD::mysql :: st fetchrow_hashref failed:fetch()without execute()を15行目に与えます

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

mysql - 主キーのウムラウトの mysql (または DBD) の処理にバグはありますか?

わからないことがあります。

コードの一部を次に示します。

テーブルumlauteに主キーがない場合、私が思うように機能します。それでも、主キーを「有効」にすると失敗します。興味深いことに、このスクリプトはäöを挿入できますが、 üは挿入できません。

これが機能しない理由についてのヒントをいただければ幸いです。おそらく私には見えないものなので、4 つの目は 2 つ以上のものを見ています。

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

mysql - i5 プロセッサを搭載した Mac Snow Leopard に DBD::mysql をインストールできた人はいますか?

を含む一般的な方法のほとんどを使用して DBD::mysql をインストールしようとしていsudo cpanm -S DBD::mysqlます。ただし、これにはいくつかの深刻な問題があり、プロセッサに問題があるのではないかと考え始めています。私はこれを多くのコンピュータにうまくインストールしましたが、私の IT 部門がこの i5 MacBook Pro をくれて以来、うまくいきませんでした。DBD::mysql を i5 にインストールできた人はいますか? Mac OS 10.6.8 を実行しています。

実行後のbuild.logは次のとおりcpanmです。どんな助けでも大歓迎です。ありがとうございました!

私はそれ以来試しsudo cpanm -Sf DBD::mysqlました。force フラグを使用すると、cpanm は正常にインストールされたと通知しますが、MySQL データベースへの接続を含むスクリプトを実行しようとすると、次のエラーが発生します。

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

mysql - Perl DBD::mysql 'mysql_use_result' 別のテーブルへの挿入中に使用してもよろしいですか?

私はmysqlで大規模な結合を行っており、結果のデータに基づいて行動し、それを別のテーブルに書き込んでいます。現在、デフォルトの mysql_store_result を使用していますが、クエリの後の $sth->execute() の実行には約 20 分かかります。一度に 1 行しか操作していないため、mysql_use_result に切り替えたいと考えています。

しかし、ドキュメントのこの部分は私を悩ませます:

この属性は、ドライバーが mysql_store_result ではなく mysql_use_result を使用するように強制します。前者は高速でメモリ消費が少ないですが、他のプロセスをブロックする傾向があります。(これが mysql_store_result がデフォルトである理由です。)

一度に 1 行ずつ処理し、結果を配列に格納しています。500 エントリごとに、別のテーブルに INSERT を実行します。これは、mysql_use_result ループ内から実行しても問題ありませんか? INSERT 用に新しい DB ハンドラを定義してもよろしいですか?

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

perl - PerlDBDを使用してMSSQLServerからデータをフェッチする際の特殊文字の処理

私はMSSQLServer 2008データベースを持っており、そこからperl DBD::Sybaseモジュールを使用してデータをフェッチしています。ただし、DBには、著作権記号、商標記号など、正しくインポートされない特殊文字がいくつかあります。Perlは、これらの特殊文字をすべて疑問符文字に変更しているようです。これを修正する方法はありますか?

charset=utf8接続文字列で指定してみました。ドキュメントには設定について記載されていますsyb_enable_utf8 (bool)が、それを試してみるとエラーが発生します。

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

perl - Perl DBIプレースホルダーの最大NUM_OF_PARAMSは何ですか

1 つのステートメントで許可されるプレースホルダーの最大数はいくつですか? つまり属性の上限NUM_OF_PARAMS.

複数行挿入の最大数を調整しようとすると、奇妙な問題が発生します。つまり、数を 20,000 に設定すると、$sth->{NUM_OF_PARAMS}負になるためエラーが発生します。

最大挿入数を 5000 に減らすとうまくいきます。

ありがとう。

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

mysql - Perl スクリプトの MySQL エラーコード 2

Perl で ETL ツールを作成しました。ETL ツールが通信する 3 つのデータベース サーバーがあります。たとえば、dbserver1 (OLTP サーバー - Windows ボックス)、dbserver2 (ステージング サーバー - Linux ボックス)、dbserver3 (OLAP サーバー、Linux ボックス) です。私の ETL スクリプトは dbserver 2 にあります。

スクリプトは、dbserver1 からデータを読み取り、いくつかの変換のために dbserver2 に取り込み、変換を実行してから、データを dbserver3 に入れます。これを実現するために、スクリプトは dbserver2 にいくつかの OUTFILE データを作成します。したがって、OUTFILE クエリには次の 2 つのタイプがあります。

  1. dbserver1 で実行される OUTFILE クエリは、dbserver2 に .data を作成し、
  2. dbserver2 で実行される OUTFILE クエリは、dbserver2 に .data ファイルを作成します。

2 番目のクエリは、同じサーバー上にファイルを作成しているため、正常に機能します。しかし、最初のタイプのクエリでは、次のエラーが発生します。

これは、いくつかのユーザー権限に関連していると思います。私が間違っていなければ、dbserver2 の MySQL には dbserver2 への読み取り/書き込み権限がありますが、dbserver1 の MySQL にはありません。

dbserver1 が Windows で dbserver2 が Linux ボックスであるためでしょうか?

どうすればこれを解決できますか?

参考までに: ファイル形式は次のとおりです: dumpfile.yyy-mm-dd-hh:mm.data また、dbserver2 の MySQL の AppArmor 設定を dbserver2 の MySQL に設定しました。

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

c - 文字ポインタを持つC構造体をDBDファイルに挿入するにはどうすればよいですか?

DBDにしたファイルシステムから変更しています。

そして、これらの構造をDBDファイルに挿入するために、文字ポイントメンバーを持つ構造を変換する選択肢がありませんでした。

例として、以下のような構造がある場合

以下のように変換する構造を作りました

しかし、変換するには構造が多すぎます。

そのため、パフォーマンスを考慮して、これらの構造をDBDファイルに挿入する最も効率的な方法を探しています。

率直に言って、私は熟練していません。できるだけ具体的に説明してください。

ありがとう〜

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

mysql - DBD::mysqlのインストール中にmysql_configエラーがありません

Perlをインストールしようとしているのを見ました-MysqlDBD、mysql_configが見つかりません、そしてmysql_configを見つけようとしましたが、見つかりませんでした。だから、私はmysql-develをインストールしようとしました、そしてそれから私はこのエラーを受け取ります-