問題タブ [sqlitejdbc]
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.
java - Java SQLite org.sqlite.JDBC クラスパスが壊れていますか?
私のコードで JDBC sqlite を使用しているときに奇妙なエラーが発生しorg.sqlite.JDBC
、Windows で正常にコンパイルおよび実行されました。しかし、Ubuntuに移動しようとすると、次のように表示され始めました:
私はjarと同じディレクトリにある両方のバージョンで実行してjava -classpath "sqlite-jdbc-3.7.2.jar" -jar Mall.jar"
おり、java -classpath "sqlite-jdbc4-3.8.2-SNAPSHOT.jar" -jar Mall.jar
クラスパスを指定してさまざまなオプションを試しましたが、まったく同じように動作します。openjdk と oracle jdk を試しました。Ubuntuで再構築、ant .xmlの変更、パスの変更などを試みました。
何が起こっているのかわかりません。助けてください。
私のdistディレクトリ内で何が起こるかは次のとおりです。
java - raspberry pi の sqlite-jdbc-3.8.11.1 - 内部エラー (os_linux_zero.cpp:254)
sqlite-jdbc-3.7.2 を使用していましたが、現在のリリースの sqlite-jdbc-3.8.11.1 にアップグレードしたかったのです。
ここにいくつかのサンプルコードがあります
このプログラムを実行すると、180MB のメモリが必要になります ( top -p で確認できます)。
ここから sqlite-jdbc の新しいリリースにアップグレードしたいと思います。Ubuntu x64 では起動できますが、ラズベリーでは「致命的なエラー」が発生します
しかし、前述のコア ダンプは作成されませんでした。
問題は何でしょうか?
ラズベリー Pi B で arch Linux を使用しています
sqlitejdbc - avg() と sqlite-jdbc
sqlite-jdbc を使用して sqlite データベースに接続する avg() に依存するクエリがあります。ただし、クエリを実行すると、平均で 0.0 の回答が得られますが、別の場所 (ポータブル データベース ビューアー) で同じクエリを実行すると、予想される (ゼロ以外の) 値が得られます。なんで?
平均化される列は整数のリストです。
カウントは正しく返されます。
平均化される値: "54"、"56"、"66"、"53"
ファイル形式は sqlite ですが、スタイルの方法はddf 仕様で指定された仕様にありますが、これは関係ありません。
java - Sqlite データベースのバージョンを取得する
Java デスクトップ アプリケーションで sqliteJDBC ライブラリ (SqliteDriver) を使用して、sqlite データベースにフックしています。
データベースのバージョンを取得する方法はありますか? このようにして、現在のデータベースのバージョンに基づいて、不足しているテーブルを追加する必要があるかどうかを知ることができます
ありがとうございました
PS: 私は、現在のバージョンと「アップグレード データベース」を取得できる Android の世界から来ています。したがって、データベースのバージョンが db ファイル/スキーマのどこかに埋め込まれており、クエリできると想定しています
ありがとう
java - なしのPreparedStatement ? where句で
私は、SQL式をこのようPreparedStatement
にフィードする必要があるため、知っていますPreparedStatement
ただし、「?」を使用せずに完全な where 句を使用して update ステートメントをフィードすることはできますか?
例えば
関数のパラメーターとしてを取得するだけの理由でありwhere
、文字列を解析して分割するのは効率的ではないと思います。
java - Wildflyがsqlite jdbcによって殺されている
javaSE アプリケーションで約 1 年間正常に動作していたタスクがあります。つまり、SQLite データベースから BLOB とテキスト メタデータを抽出し、大きな RDBMS に入力します。
このタスクをWildflyに移したところ(10.0、昨日は10.1も試した)、おかしなことが起きた。非常に多くの場合、Wildfly は単独のメッセージで完全に死んでしまいます
他のすべての EJB、サーブレットなども動作を停止します。
sqlite ファイルを処理するシングルトン EJB は、try - catch でラップされていますが、役に立ちません。そのため、非常にイライラする問題です。
OS は CentOS7 で、最新のストック jre を使用しています。sqlite jdbc は 3.8.11.2 - 最新です。
ヒープを 1024 および 2048 メガバイトに増やそうとしましたが、役に立ちませんでした。
この問題を調査して解決するにはどうすればよいですか? javaSE に戻すことは望ましくありません。
このコードでブロブを取得します(try-catchでラップされ、その後nullをチェックします)
私がデバッグする限り、wildfly は getBytes() で死ぬわけではありません。コンソールで「データを取得しています... OK」と表示されるからです。その後、バイト配列のみで作業しますが、アサーション「jBlob」が失敗してワイルドフライが終了します