問題タブ [sql2o]
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、Spark、Sql2o、H2: DataSource から接続を取得できませんでした - IO 例外
Spark および H2 データベースと Sql2o ライブラリを使用して、Java Maven を使用して API を作成したいと考えています。
これは完全なエラー メッセージです。
Exceptionorg.sql2o.Sql2oException: DataSource から接続を取得できませんでした - IO Exception: "java.io.IOException: ファイル名、ディレクトリ名、またはボリューム ラベルの構文が正しくありません"; "C:\Users\Claudiu/reviews.db:INIT=RUNSCRIPT from 'classpath:db/init.sql.mv.db" [90031-191] [qtp1133151800-16] エラー spark.webserver.MatcherFilter - ro.sparkmaven. exc.DaoException: ro.sparkmaven.dao.Sql2oCourseDao.add(Sql2oCourseDao.java:28) で ro.sparkmaven.App.lambda$0(App.java:37) で ro.sparkmaven.App$$Lambda$1 にコースを追加する際の問題/1607460018.handle(不明なソース)
これはメインクラスです:
これはinit.sqlです:
前もって感謝します!
java - sql2o を使用する場合、org.sql2o.converters.ConverterException とは何ですか?
.executeScalar()
sql2o .jar ファイルのメソッドを使用しています。従業員 POJO を使用すると、この例外が発生します。使用すると、次のよう.executeScalar(Employee.class)
になります。
org.sql2o.converters.ConverterException: クラスにコンバーターが登録されていません: com.mack.sales.employees.Employee
この問題の解決に役立つものは何も見つかりません。助けていただければ幸いです。
java - 異なる OracleDB 接続間の共有トランザクション
この問題について調査するために数日が経過した後、何が起こっているのか明らかに意味がないため、この質問を送信することにしました。
ケース
私のコンピュータは、ローカルの Oracle Express データベースで構成されています。@Before メソッドで OJDBC 接続 (10 接続の静的 Hikari 接続プールを使用) を開き、ロールする親クラスを拡張するいくつかの JUnit テストを含む Java プロジェクトがあります (「ベスト プラクティス」ではないことはわかっています)。 @After に戻します。
静的接続プール
}
このプロジェクトには、この接続 (ローカルホスト上) を使用して Sql2o を使用してクエリ (挿入/更新および選択) を実行する何百ものテスト (並列ではない) がありますが、トランザクションと接続のクローズは外部でのみ管理されます (上記のテストによって)。ACID テストを実行するために、データベースは完全に空です。
したがって、期待される結果は、DB に何かを挿入し、アサーションを作成してからロールバックすることです。このようにして、2 番目のテストは、分離レベルを維持するために前のテストで追加されたデータを検出しません。
問題 すべてのテストを一緒に (順番に) 実行すると、90% の確率で正しく動作します。10% の 1 つまたは 2 つのテストは、ランダムに失敗します。これは、以前のテストでデータベースにダーティ データがあるためです (たとえば、一意の重複)。ログを見ると、以前のテストのロールバックは適切に行われていました。実際、データベースを確認すると、空です) このテストを、パフォーマンスが高いが同じ JDK、同じ Oracle DB XE のサーバーで実行すると、この失敗率は 50% に増加します。
テスト間で接続が異なり、毎回ロールバックが呼び出されるため、これは非常に奇妙でわかりません。JDBC Isolation レベルは READ COMMITTED であるため、同じ接続を使用したとしても、同じ接続を使用しても問題は発生しません。だから私の質問は:なぜそれが起こるのですか?何か考えはありますか?私が知っているように、JDBC ロールバックは同期的ですか?それとも完全に完了していなくても、前に進むことができる場合がありますか?
これらは私の主な DB パラメータです: プロセス 100 セッション 172 トランザクション 189
android - エラーの解決方法: ゼロ以外の終了値 1 で終了したタスク アプリ preDexDebug の実行に失敗しました
私の Android プロジェクトでは、mysql コネクタ java 用の maven と SQL2o ライブラリ jar をインストールしました。
しかし、コンパイルすると、以下のエラーが発生します。プロジェクトをきれいにしようとしましたが、それでも同じ結果になります:
ゼロ以外の終了値 1
ゼロ以外の終了値 1 で終了したタスク アプリ preDexDebug の実行に失敗しました
database - リレーショナル データベース内の一意の識別子を含まないマッピング オブジェクト フィールド
Card クラス内のフィールドである Reward タイプのオブジェクトがあります。Card クラスをデータベースに格納しようとしています。Card 内の他のフィールドは、データベースの永続性の問題ではないため、簡潔にするために、Card 内の Reward フィールドのみに関係します。
こちらがリワードクラスです。簡潔にするために、ゲッター/セッターは削除されました。
}
Card クラス内に存在するこのオブジェクトをデータベースにマップしようとするときに遭遇する問題は、Reward が固有のエンティティではないため、id が含まれていないことです。これは、1 つのクラスにまとめられた Card プロパティのセットです。
私がこれまでに思いついた唯一の解決策は、データベース内の Reward への外部キーを持たず、代わりにすべての Reward フィールドを非正規化して Cards テーブル内に配置することです。
たとえば、Cards テーブルには、報酬への外部キーではなく、reward_type、amount、および weapon_data 列が含まれます。
この方法について友達に尋ねたところ、非正規化されているため、エレガントなソリューションではないと言われました。
また、Sql2o という名前のシン JDBC ラッパーを使用してこれをマッピングする際にも問題が発生します。オブジェクトをデータベース テーブルにスムーズにマッピングするのに役立つからです。
オブジェクトが JSON ドキュメントに簡単にマップされ、データベース内に格納されるため、データベース テーブルの一部を NoSql データベースに切り替えることを検討しました。これにより、この状況がはるかに簡単になります。
ただし、データベース内の他のテーブルには Cards テーブルへの外部キー参照が含まれているため、いくつかの大きな問題が発生します。
これらの Reward オブジェクトをクリーンな方法でデータベースにマップするソリューションを誰かが持っている場合は、すべての助けをいただければ幸いです。
これを読んでくれてありがとう。
java - Java NoInitialContextException で SQLite を使用した sql2o
これまでのところ、次のコード スニペットがあります。
私はこれらの依存関係を使用しています:
ただし、これは実行時に NoInitialContextException をスローします。スタックトレース:
この問題を解決するにはどうすればよいですか?
java - クエリは異なりますが、Sql2oは同じデータセットを返し続けます
MySQL で SQL2O を使用するのは初めてですが、さまざまなクエリが同じ結果を返すという奇妙な問題が発生しています。SQL2O はキャッシュされた結果を返しますか?
私のコードは次のようになります。
4 つのパラメーターは常に変化しますが、出力は同じままです。mysql ワークベンチでクエリを確認しました。データは異なりますが、SQL2O は同じデータ セットを返します。何か不足していますか?
oracle - sql2o でデータベース出力 (dbms_output) をインターセプトする方法はありますか?
Java ベースのプロジェクトで、Oracleデータベースでsql2oを使用しています。多くの場合、何が起こっているのかを追跡するために、SQL クエリで使用します。dbms_output.Put_line('A message...')
ログに渡すことができるように、この出力を sql2o でインターセプトする方法はありますか? それとも、dbms_output
それを行うことができる代替手段がありますか?