問題タブ [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.
perl - どの Perl データベース インターフェイスを使用すればよいですか?
CPAN DBIは、Perl で一般的なデータベースを使用するのに最適なデータベース インターフェイスですか? より良いオプションはありますか?
perl - DBIハンドルでロールバック方法が利用できないのはなぜですか?
何らかの理由で、DBI ハンドルに問題があります。基本的に何が起こったのかというと、perl モジュールで特別な接続関数を作成し、次のように切り替えることでした。
に
そして、私はします
そして今、何らかの理由でエラーが発生し続けます:
../Foo.pm 行 171 で、パッケージ「Foo」を介してオブジェクト メソッド「rollback」が見つかりません。
したがって、奇妙なことは、$dbh は絶対に Foo ではなく、単に foo で定義されているということです。とにかく、今までそれで困ったことはありません。どうしたの?
編集:@Axeman:connect
オリジナルには存在しませんでした。次のように使用する文字列を作成する前に、次のようにします。
このようconnect
なものもあります
sql - 引用符で囲まれた識別子に関するDBIのcolumn_infoとpgAdmin
Postgresデータベースに、「type」、「desc」、「start」という名前の列を持つテーブルがあります。私が電話すると$dbh->column_info
、「desc」だけが引用符で囲まれて戻ってきますが、pgAdminでは3つすべてが引用符で囲まれています。それらの1つは間違っていますか?
perl - Perl の DBI を使用して、日付値を Oracle から Excel に変換するにはどうすればよいですか?
非常に単純な Perl プロセスで問題が発生しています。私は基本的に Oracle データベースにクエリを実行しており、それを Excel にロードしたいと考えています。DBIx::Dump を使用できましたが、動作します。ただし、さまざまな Excel 書式設定ツールを使用できる必要があります。また、Spreadsheet::WriteExcelは、より多くの書式設定を行うことができる Excel に出力する最高のモジュールだと思います。
以下は、コードと私が得ているエラーです。私は基本的に Oracle にクエリを実行し、データをフェッチし、配列にロードして、Excel に書き込もうとします。何らかの理由で何らかの比較を行っており、データ型が好きではありません。たとえば、日付は「25-OCT-08」です。SVP は「S01」です。数値ではないと言っているようです。
エラー:
コード:
perl - データベース クエリが結果を返すかどうかを確認するにはどうすればよいですか?
当社の Web サイトでは、Perl を使用して、人事担当者が欠員を Web サイトに掲載するための簡単なメカニズムを提供しています。これはサードパーティによって開発されましたが、彼らは長い間連絡を取り合っていました。悲しいことに、社内に Perl のスキルはありません。これは、マーケティング担当者が社内の IT チームを迂回したときに起こることです!
このアプリケーションに簡単な変更を加える必要があります。現在、欠員ページには、欠員があるかどうかに関係なく、「現在、次の空室があります:」と表示されています。したがって、この行が適切なタイミングでのみ表示されるように変更します。
もちろん、少し Perl を学び始めることもできますが、私たちはすでに代わりのサイトを計画しており、Perl を使用していないことは確かです。したがって、これらのスキルを持つ人にとって解決策は些細なものになるため、焦点を絞った助けを求めようと思いました.
以下は、欠員をリストする手順の開始です。
キーラインはwhile (my $ref = $sth->fetchrow_hashref()) {
. これは、「返されたレコードセットから別の欠員を引き出すことができる間...」と言っていると考えています。この行の前に print ステートメントを配置すると、常に表示されます。この行の後、空席ごとに繰り返されました。
返されたレコードセットを途中で移動せずに、表示する空席があることを確認するにはどうすればよいですか?
while ループ内のコードをいつでもコピーして、(while ループの前にある) if() ステートメント内に配置できます。このステートメントには、print ステートメントも含まれます。しかし、私はより単純なアプローチを好むだけですIf any records then print "We currently have.." line
. 残念ながら、私はこの単純な行でさえコーディングする手がかりがありません。
ほら、私の手探りの説明を考慮しても、それは些細な問題だと言いました!
ティア
クリス
mysql - Perl MySQL DBI ハンドルからデータベース名を取得するにはどうすればよいですか?
Perl DBI を使用して MySQL データベースに接続しました。どのデータベースに接続しているかを知りたいです。
私は使用できないと思います:
最初に接続したデータベースを呼び出しUSE new_database
て$dbh->{Name}
報告するだけだからです。
何かトリックはありますか、それともデータベース名を追跡する必要がありますか?
database - Parrot にはデータベース インターフェイスまたは API がありますか?
簡単に検索すると、2004 年 1 月の Parrot DBDI の発表と、長い間死んでいるように見えるdbdi-dev メーリング リストが見つかりました。Parrot DBDI はまだ開発中ですか? Parrot 用の別のデータベース API またはインターフェースに取り組んでいる人はいますか?
perl - Perl のハッシュ参照でスカラーを参照するにはどうすればよいですか?
簡単な質問:
これを1行で行うにはどうすればよいですか:
\$bar->{baz}、\${$bar->{baz}}、その他多数を試しました。これは可能ですか?
-fREW
更新: わかりました。ハッシュ参照は DBI から来ており、スカラー参照をテンプレート ツールキットに渡しています。より詳しく見てみると、この問題は TT がこれらすべてをどのように行うかに関係していると思います。効果的に言いたいのは:
しかし、TT はそのようには機能しません。TT はスカラー ref を取得してそこにデータを配置するため、次のようにする必要があります。
とにかく、助けてくれてありがとう。参考文献は少なくとも 2 つではなく 1 つだけです。
perl - DBD::ProxyをDBIx::Classで使用するにはどうすればよいですか?
ファイアウォールを介してデータベース接続を取得する必要があります。また、実行できるクエリを制限する必要があります。DBD::Proxyはこれに対する完璧なソリューションのようです。ただし、現在DBIx :: Classを使用しているため、それらをフックする方法がわかりません。
特に、DBD::ProxyはSQLを使用しません。特定の名前付きクエリが必要です。しかし、DBIx :: Classには、これらの名前付きクエリを呼び出す方法がないようです。
これはCatalystベースのWebアプリ内にあります。
perl - SQLの制限とトランザクションを処理するDBIプロキシはありますか?
SQLの制限とトランザクションの両方をサポートするDBI(または同様の)プロキシを探しています。私が知っている2つは次のとおりです。
DBD::Proxy
DBD::Gofer
DBD ::Proxy
私が見つけた問題DBD::Proxy
は、そのサーバーDBI::ProxyServer
がネットワーク経由で着信するクエリを制限するだけでなく、データベースドライバーによって内部的に生成されるクエリも制限することです。そのため、たとえば、を使用するとDBD::Oracle
、pingは機能しなくなり、他の多くのクエリも同様に機能しなくなります。
私はそれらを許可することはできません。理由は次のとおりです。
- これは、DBD :: Oracleに関するかなりの内部知識であり、非常に脆弱です。
- ホワイトリストはです
query_name => 'sql'
。ここquery_name
で、はに渡されるものの最初の単語ですprepare
。DBD :: Oracleには多くの内部クエリがあり、それらの多くの最初の単語はselect
(duh)です。
だから、使えないようですDBD::Proxy
DBD :: Gofer
私はDBD::Goferを試していません。これは、ドキュメントからDBD::Goferを介してトランザクションを使用できないと言われているためです。
制約
..。
取引はご利用いただけません
AutoCommitのみ。トランザクションはサポートされていません。
それで、(?を使用して)独自のアプリケーション固有のプロキシを作成する前に、RPC::PLServer
この問題を解決するコードはありますか?