問題タブ [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.
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です。
mysql - perlでのDBDとmysqlの問題
私が何時間も試してきたこのコードの問題を追跡するのに問題があります。それは私にエラーDBD::mysql :: st fetchrow_hashref failed:fetch()without execute()を15行目に与えます
mysql - 主キーのウムラウトの mysql (または DBD) の処理にバグはありますか?
わからないことがあります。
コードの一部を次に示します。
テーブルumlauteに主キーがない場合、私が思うように機能します。それでも、主キーを「有効」にすると失敗します。興味深いことに、このスクリプトはäとöを挿入できますが、 üは挿入できません。
これが機能しない理由についてのヒントをいただければ幸いです。おそらく私には見えないものなので、4 つの目は 2 つ以上のものを見ています。
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 データベースへの接続を含むスクリプトを実行しようとすると、次のエラーが発生します。
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 ハンドラを定義してもよろしいですか?
perl - PerlDBDを使用してMSSQLServerからデータをフェッチする際の特殊文字の処理
私はMSSQLServer 2008データベースを持っており、そこからperl DBD::Sybaseモジュールを使用してデータをフェッチしています。ただし、DBには、著作権記号、商標記号など、正しくインポートされない特殊文字がいくつかあります。Perlは、これらの特殊文字をすべて疑問符文字に変更しているようです。これを修正する方法はありますか?
charset=utf8
接続文字列で指定してみました。ドキュメントには設定について記載されていますsyb_enable_utf8 (bool)
が、それを試してみるとエラーが発生します。
perl - Perl DBIプレースホルダーの最大NUM_OF_PARAMSは何ですか
1 つのステートメントで許可されるプレースホルダーの最大数はいくつですか? つまり属性の上限NUM_OF_PARAMS.
複数行挿入の最大数を調整しようとすると、奇妙な問題が発生します。つまり、数を 20,000 に設定すると、$sth->{NUM_OF_PARAMS}
負になるためエラーが発生します。
最大挿入数を 5000 に減らすとうまくいきます。
ありがとう。
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 つのタイプがあります。
- dbserver1 で実行される OUTFILE クエリは、dbserver2 に .data を作成し、
- 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 に設定しました。
c - 文字ポインタを持つC構造体をDBDファイルに挿入するにはどうすればよいですか?
DBDにしたファイルシステムから変更しています。
そして、これらの構造をDBDファイルに挿入するために、文字ポイントメンバーを持つ構造を変換する選択肢がありませんでした。
例として、以下のような構造がある場合
以下のように変換する構造を作りました
しかし、変換するには構造が多すぎます。
そのため、パフォーマンスを考慮して、これらの構造をDBDファイルに挿入する最も効率的な方法を探しています。
率直に言って、私は熟練していません。できるだけ具体的に説明してください。
ありがとう〜
mysql - DBD::mysqlのインストール中にmysql_configエラーがありません
Perlをインストールしようとしているのを見ました-MysqlDBD、mysql_configが見つかりません、そしてmysql_configを見つけようとしましたが、見つかりませんでした。だから、私はmysql-develをインストールしようとしました、そしてそれから私はこのエラーを受け取ります-