問題タブ [jdbc-postgres]
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.
postgresql - JDBC の問題読み取りおよび書き込みバイト
Java アプリケーションを PostgreSQL 8.4 から最新リリースに移行しようとしています。データベースからバイトデータを読み取る際に問題に直面しています。IpAddress をバイト単位でテーブルに挿入し、別のプロセスで再構築しようとしています。しかし、再構築中に私が見ることができた余分な「/」文字は、まさに私がやっていることです。
そして、このように読み返します
挿入前と取得後にバイトを印刷すると、それらが同じではないことがわかりました。「[B@106bdde4」を挿入する前に127.0.0.1であるローカルループバックアドレスの場合、DBから取得したものは[B@6d7eaa83のように見えます.0.1" どなたかこの問題の解決にご協力ください
ruby-on-rails - schema.rb - ダンプ エラー - NoMethodError 未定義メソッド `default_function'
schema.rb ファイルを調べたところ、次のことがわかりました。
これらの最後の 3 行は、データベース内のテーブルごとに繰り返されます。
データベースは正常に動作しているようです。db:rollback と db:migrate を問題なく実行できますが、再生成された schema.rb は上記のように見えます。私の GIT リポジトリを振り返ると、それは 2014 年 7 月 29 日のことでした。そのコミットにおける唯一の他のデータベース関連の変更は、2 つのテーブルのそれぞれに列を追加するマイナーな移行でした。db:rollback、次に db:schema:dump を試しましたが、うまくいきませんでした。その時点での他のコミットは、ビューとコントローラーのみへの変更でした。
「activerecord-jdbcpostgresql-adapter」gem を使用しています。バージョン 1.3.9 は 2014 年 7 月 7 日にリリースされました。Gemfile で強制的にバージョン 1.3.8 に戻し、バンドルして db:schema:dump を再試行しましたが、それでも同じでした。 データベースを削除して最初からやり直せばうまくいくかもしれませんし、壊滅的なことにはなりませんが、開発データを今すぐすべて失うのは嫌です。
database.yml でデータベースの名前を変更しました。その新しいデータベースを作成し、db:migrate で構築しました。結果の schema.rb は、依然として同じエラーのリストです。
助言がありますか?
java - バイナリ転送を使用すると、プリペアド ステートメントのテキスト配列が null を返す
postgresql-jdbc でバイナリ転送を使用する場合、テキスト配列型を返す準備済みステートメントの使用に問題null
があります。値が必要な場所を返します。実際、私のテストでは、ループの 6 回目の繰り返しからのみ発生します。
binaryTransfer
プロパティをに設定すると、正常にfalse
動作します。
PG 9.2 および 9.3 データベースで postgresql-9.3-1102.jdbc4.jar を使用してテストしました。
バイナリ転送を実装していない古いバージョンの jdbc (つまり、postgresql-9.0-801.jdbc4.jar) では、問題なく動作します。
テストしたコードは次のとおりです。
これが出力です
同じ出力設定の DEBUG ログ レベルを次に示します。
mysql - 何らかの制限により単一のレコードが失敗した場合、バッチ全体が中止されましたか?
Postgre sql をバックエンドとして使用しています。postgre jdbc ドライバーを使用して接続しています。5 つのレコードのバッチを実行しています。1 つの列に固有のコンスターチンを入れました。5 つのレコードをバッチに追加した後、バッチを実行しています。これを実行しているときに、3 番目のバッチで、バッチ全体が中止されるという固有の制約により、1 つのレコードが失敗しました。rest すべての 3 つ (1 番目、2 番目、4 番目) のバッチが実行されます。MySQl では、失敗したレコードのみが中止され、失敗したレコードを含むバッチは適切に実行されます。では、なぜPostgre sqlでこれが起こるのでしょうか? これは予想される動作ですか、それともバグですか?
java - hbm2ddl.auto を create-drop に設定すると、実在しません
私は次の春の構成を持っています:
主な方法:
アプリケーションが実行されると、次のエラーが表示されます。
hbm2ddl.auto
構成から読み取れないようです。
私は何を間違えていますか?
java - Java を使用して JPEG 画像を PostgreSQL の bytea フィールドに挿入し、PHP を使用して Web サイトに表示するにはどうすればよいですか?
covers.cover
画像ファイル (jpg/jpeg) を読み取り、タイプのデータベース テーブルに挿入する小さな Java プログラムを作成しましたbytea
。
byte[] cover
Java メソッドに渡されるパラメーターに有効な jpeg データが含まれていることは確かですaddCover(int riddim_id, byte[] cover, byte[] thumbnail)
(.jpeg ファイルに書き込んでテストしたところ、正常に表示されました)。
データベース関数add_cover(riddim INT, cover BYTEA, thumbnail BYTEA)
は正しく呼び出されているようです。呼び出しの後、テーブルにデータがあり、SQL エラーは発生しません。
ただし、データはやや似ています
など、私には有効なデータのようには見えません。私はもっと統一されたもの( 、 、 のような特殊文字が少ない)、 のようなものを期待して,
い"
まし$
た\x01E25A43
。
以下に示す PHP スクリプトであるにアクセスするとhttp://foo.bar/image.php
、Firefox から、誤ったデータが含まれているため、画像を表示できないと表示されます。
BYTEA フィールドを正しく使用していないと思いますが、何が間違っているのかわかりません。助言がありますか?
データベース テーブルは次のようになります。
Java で呼び出しているデータベース関数は次のようになります。
JDBC コネクタを使用して上記のデータベース関数を呼び出すJava メソッドは次のようになります。
データを image/jpeg としてブラウザに送信するPHP スクリプト(Googleのどこかで見つけたもの):
postgresql-9.4-1202.jdbc41.jarを使用して、 PostgreSQLバージョン 9.4.4 を実行しています。
java - メインの JDBC および Postgresql 例外
ご意見ありがとうございます。以下のエラーメッセージが表示されます。postgresql で JDBC を実行しており、持っている query.txt ファイルで 9 つのクエリを実行しようとしています。以下のコンソール メッセージに従って、テーブルが作成され、値が挿入されました。ただし、スレッドメインで例外が発生しています。これをクリアしてコンソールを正常に実行し、1.html ファイルでクエリ結果を実行する方法がわかりません。改めまして、皆様のご協力に感謝いたします。これは、クエリを実行している特定のクラスのコードです。
コンソールの結果は次のとおりです。
java - jdbc postgre ドライバーを jar に追加する
JDBC ドライバーを使用して psql データベースに接続する Java サーバー プログラムを構築しています。プログラムを .jar ファイルにコンパイルする必要がありますが、そうして実行しようとすると、この例外が発生します。(プログラムは Linux マシンで実行する必要があります)
java.lang.ClassNotFoundException: org.postgresql.Driver at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader. loadClass(Launcher.java:349) で java.lang.ClassLoader.loadClass(ClassLoader.java:357) で java.lang.Class.forName0(ネイティブ メソッド) で java.lang.Class.forName(Class.java:264) Server.connectToDatabase(Server.java:53) で Server.(Server.java:33) で Main.main(Main.java:10) で
プログラムは IntelliJ エディターで正常に動作するため、問題は jar ファイルに jdbc ドライバーがないことだと思います。どうすれば追加できますか?