問題タブ [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 に答える
1630 参照

mysql - 実行されたステートメントを使用して結果を別のテーブルに挿入する (Perl DBI および MySQL)

Perl と DBI を使用して MySQL でクエリを実行し、結果を別のテーブルに挿入する必要があります。2 番目のテーブルはその場で作成され、元のクエリで返されたのと同じ数のフィールドに加えて、もう 1 つのフィールドが定義されます。

最初のクエリや、返されるフィールドの数を事前に知る方法はありません。だから私はこの非常に醜いことをしています(要約):

これができれば完璧です:

ただし、最初のクエリから返されたフィールドの名前を知り、データを挿入する前に対応するテーブルを作成する必要があります。

それで、私は疑問に思っていました.それ$sthは実際の準備されたステートメントなので... とにかくそれを使用して、レコードごとにPerlに渡すことなく、そのステートメントの結果を別のテーブルに挿入するようにMySQLに指示することはありますか?

コメントありがとうございます。

フランシスコ

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

oracle - Apache/Mod_Perl から DBD::Oracle を使用できません

環境:

Startup.pl

アパッチ設定

エラー:

Startup.pl は、コマンド ラインから実行すると機能しますが、Apache 経由での読み込みに失敗します

すでに試したこと

  • Apache conf で環境変数を設定する (上記参照)
  • Oracle ライブラリのファイル権限を確認しています
  • コマンド ラインから環境変数を出力し、Apache から実行した場合の出力と比較する (DBD::Oracle を削除した後)
  • Perl、Apache、Oracle、DBD:Oracle がすべて 64 ビット用であることを確認する
  • /home/oracle/app/oracle/product/11.2.0/client_1/lib を /etc/ld.so.conf に追加し、ldconf を実行する
0 投票する
1 に答える
1529 参照

sql - Perl DBD::ODBC は、名前付きパラメーターを複数回バインドすることをまだサポートしていません

いくつかの変数を結合して形成された aa sql を実行しようとすると、次のエラーが発生します。

DBD::ODBC は、名前付きパラメーターを複数回バインドすることをまだサポートしていません

問題なくSQLプロンプトから同じSQLを実行できます!!

私のコードは次のようになります: (DBI 接続、datetime $format、使用されるすべての変数は前の手順で既に作成されています)

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

mysql - Amazon EC2 に DBD::mysql をインストールすると、mysql_config が見つからない

Amazon EC2 インスタンスを実行しており (uname -r で「3.4.43-43.43.amzn1.x86_64」が返されます)、Perl スクリプトで使用する DBD::mysql をセットアップしようとしています。

DBD::mysql を cpanm でインストールする:cpanm --sudo DBD::mysql

これにより、次のログ ファイルでエラーが返されます。

システム全体で mysql_config を検索しようとしましたが、何も見つかりませんでした。何時間もグーグルで検索しましたが、解決策が見つかりませんでした。どんな助けでも大歓迎です!ありがとう

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

perl - Perl dbd-sqlite、.import 関数に相当するものはありますか?

私のスクリプトの多くでは、情報を報告するために sqlite を使用しています。最初に大きなテーブル データ (数百万の csv 行) をアップロードする必要があります。過去に、.import は 1 行ずつ挿入するよりも高速であることがわかりました (トランザクションを使用した場合でも)。

現在、私のスクリプトは、システムコールを行うメソッドを実装していますsqlite3 db '.import ....'。dbd-sqlite から .import を呼び出すことは可能でしょうか。または、system? から insert を呼び出し続けたほうがよいでしょう。

PD: dbd-sql 内から .​​import を呼び出したい理由は、ソフトウェアが別の場所にインストールされているときに sqlite3 依存関係を削除するためです。

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

sql-server - Ubuntu を使用して、CPAN から DBD::Sybase をインストールするにはどうすればよいですか?

DBD::SybaseMSSQL に接続するためにビルドしようとすると、エラーが発生します。

他の Debian システムでもこのエラーが発生しました。

0 投票する
0 に答える
209 参照

mysql - ユーザー認証用の MySQL 複数データベース

関連する Web サイトがいくつかありますが、ユーザー データベースが完全に分かれているのは残念です。データベースを統合する方法について、さまざまなオプションを検討してきました。

  1. 独立したソフトウェアではなく、私のコンテンツ管理システムの 1 つのコピーで実行されるようにサイトを作り直します。長所:きれいに見えます。短所: 一方のサイトのさまざまな機能をサポートするために、一方のサイトの多くのバックエンドを書き直す必要があるため、複雑です。

  2. 私が作成した OAuth バックエンドを使用して、Facebook とやり取りし、サイト間で認証を行ってください。長所: 本来の目的で OAuth を使用しているようです。短所: 両方のサイトに重複したユーザー データを保存する必要があり、これが同期しなくなる可能性がある場合、少なくともある程度の冗長性が必要です。また、同じサーバー上で実行されている 2 つのサイトのやり過ぎのようです。

  3. いずれかのサイトでアカウントが作成または変更されるたびに両方のデータベースに接続し、その変更をもう一方のサイトに適用します。長所: 同期が失われるリスクを回避し、サイト間で OAuth データを作成および受信する必要があるという複雑さを回避できるようです。短所: サイト間でユーザー情報を完全に複製する必要があります。

  4. サイトの 1 つを標準データベースとして選択し、他のサイトのユーザー認証メカニズムを最初のサイトの MySQL データベースに接続させますが、サイトの残りの機能については別のデータベースに接続します。

どのオプションにも完全に満足しているわけではありませんが、考えている限りでは #4 が最も簡単に実装できるように感じます。とはいえ、そのようなプロジェクトに着手する前に、私が見落としている可能性のある潜在的な落とし穴を尋ねてみようと思いました。どれが「ベスト プラクティス」と考えられるか、そしておそらくもっと重要なこととして、どれがサーバー リソースに最も大きな影響を与えるかについてアドバイスをいただければ幸いです。DBD::MySQLデータベースとのやり取りにPerl を使用しています。

0 投票する
0 に答える
549 参照

perl - これらの DBD::SQLite エラーの原因は何ですか?

sqlite データベースにデータを挿入するアプリケーションがあります。頻繁にこれらのエラーが発生しますが、その理由はわかりません。

また

一連の挿入を行っていますが、このように失敗することがあります。

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

perl - OpenSuSE 10 で DBD::mysql をインストール/コンパイルする際の問題

MySQL DBD::mysql Perl ライブラリをインストールしようとすると、コンパイル エラーが大量に発生します。このライブラリを OpenSuse Linux (SUSE Linux Enterprise Server 10 (x86_64) バージョン 10、パッチ レベル 4) にインストールしようとしています。dbdimp.h をコンパイルしようとすると、インストールに失敗します。何百ものコンパイル エラーがありますが、それらはすべて最初の 3 つのエラーに起因すると考える理由があります。

上記のエラーが発生する理由は、MySql クライアントがインストールされていないためだと思います。mysql クライアントのインストール方法がわかりません (何らかのバージョンの libmysqlclient を入手する必要があると思います)。

私はopensuseにまったく慣れておらず、一般的にLinuxにパッケージをインストールすることに漠然と慣れていますが、以前はubuntu + centOSでyum、yast、apt-getを使用していましたが、OpenSuse 10にあると思われるパッケージマネージャーツールはrpmとzypperだけです。これらのいずれかを使用して、必要な mysql クライアントをインストールできませんでした。私の問題を解決するために MySql Client をインストールする方法を誰かが知っている場合は、お勧めをいただければ幸いです

ありがとう

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

linux - @INC で DBD/Oracle.pm が見つかりません

DBI 経由で Oracle に接続しようとしていますが、うまくいきません。

私のセットアップ:

このスクリプトを使用して接続しようとしています:

そして、それを実行しようとすると、エラーが発生します:

DBD-Oracle を再インストールしようとしました:

したがって、インスタントクライアントをインストールしたため、この「rdbms」ディレクトリはありません。データベースをインストールせずに動作させる方法はありますか?