問題タブ [ojdbc]
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 6用のOJDBCドライバーはどれですか?
現在ojdbc14.jarを使用していますが、ojdbc6.jarを使用する必要がありますか?
更新:使用されているOracle 10g
java - oracle.sql.BLOB.DURATION_CALL と oracle.sql.BLOB.DURATION_SESSION の違い
oracle.sql.BLOB.DURATION_CALL と oracle.sql.BLOB.DURATION_SESSION の比較
2つの違いは何ですか?
BLOB.createTemporary(connection, true, flag) を呼び出して一時 LOB を作成するために使用されます。
次のシナリオがあります。
すべての接続はプールされ、シャットダウンするまで解放されません。一時的な LOB は、preparedStatement の実行のためにのみ存在するようにしたい (つまり、挿入の場合。挿入後、LOB は必要ありません)。どのフラグを使用すればよいですか?
java - NamedParameterJdbcTemplate と GeneratedKeyHolder を使用して主キー (または ROWID) を抽出する方法はありますか?
Spring の NamedParameterJdbcTemplate と GeneratedKeyHolder を使用して、ROWID または主キーを抽出しようとしています。
私はこのようなことをしようとしています。
上記のクエリを実行しようとするとkeyHolder.getKey().longValue()
、以下の例外がスローされます。
このhttp://docs.oracle.com/cd/B28359_01/java.111/b31224/datacc.htmを調べたとき、ojdbcがoracle RowIdをJava RowIdにマッピングしていないことを理解しました(理解できたと思います)。
キーを抽出する方法はありますか?(はい、PreparedStatement を使用して実行できますが、一部の条件でコードを読み取ったり操作したりするのが少し見苦しくなります)。あなたの提案は大歓迎です。
java - Oracle JDBC 文字セットと 4000 文字制限
UTF-16 でエンコードされた文字列を AL32UTF8 Oracle データベースに格納しようとしています。
私たちのプログラムは、文字セットとして使用するデータベースで完全に動作しますWE8MSWIN1252
。それを使用するデータベースで実行しようとするとAL32UTF8
、java.sql.SQLException: ORA-01461: can bind a LONG value only for insert into a LONG column
.
以下のテストケースでは、入力データが長くなりすぎない限り、すべて正常に動作します。
入力文字列は 4000 文字を超えることができます。入力を遮断する必要があることはわかっていますが、できるだけ多くの情報を保持したいと考えています。
データベース テーブルは、CHAR
キーワードを使用して定義されます (以下を参照)。これにより、任意の文字セットの最大 4000 文字を保存できるようになることを期待していました。これはできますか?もしそうなら、どのように?
StringUTF8
を a を使用するように変換しようとしましたが、ByteBuffer
成功しませんでした。OraclePreparedStatement.setFormOfUse(...)
また、私たちを助けませんでした。
a への切り替えCLOB
はオプションではありません。紐が長すぎる場合はカットが必要です。
これは現時点でのコードです。
これは単純なテーブルの作成スクリプトです。
テストケースは短いデータで完全に機能します。ただし、長いデータではエラーが発生し続けます。longData
3000 文字しかない場合でも、正常に実行されません。
前もって感謝します!
exception - 特定の列からフェッチするときの Exhausetd ResultSet エラー
私のプロジェクトでは、ユーザー テーブルからアカウントを削除するためのアカウントのキャンセル機能を作成しています。ユーザーテーブル名はnewuser
. cancelaccount
jsp は次のようになります。
サーブレットで、現在入力しているパスワードとアカウント開設時にCancelaccount
登録したパスワードを照合しようとしています。それらが一致する場合、アカウントをキャンセルする必要があります。
DAO
関数コードは次のとおりです。
そして、次のstacktrace
とおりです。
DAO
s'関数では、フィールドがinおよびin であるため、cancelaccount
別のテーブルからも削除しました。一生懸命調べましたが、方法が見つかりませんでした。ありがとうございました。mealdb
userid
primary key
newuser
foreign key
mealdb
sql - javax.sql.Time の動作が ojdbc14 から ojdbc6 に変更されました
ojdbc14 から ojdbc6 に切り替えたところ、準備済みステートメントと を介して javax.sql.Time 値を Oracle 列に挿入するとpreparedStatement.setTime(1, new javax.sql.Time(new Date().getTime()))
、その動作が変化したことに気付きました。以前は、日付と時刻の両方の情報をテーブルに挿入していましたが、新しいドライバーを使用すると、時刻の部分のみがキャプチャされ、データベースに表示される値の日付が 1970 年 1 月 1 日になっているように見えます。
さて、これが事実であることは明らかです。私の質問は、この動作を説明する公式ドキュメントまたは変更ノートをどこで見つけることができるかということです。
ありがとう
java - SQLException:jdbc:oracle:thin:@ // localhost:1521/orclに適したドライバーが見つかりません
Oracle
ebサービスクラスからデータベースに接続するJavaEEアプリケーションを開発しようとしていますが、
クラスパスにがあり、これがデプロイメントフォルダーojdbc6.jar
にあることも確認しました。JBoss
私のアプリケーションEAR
はで構成されていWAR
ます。これの何が問題になっていますか(根本的な原因)?助けてください。
persistence.xmlの接続URL:
スタックトレース:
Oracleデータベースのバージョン:11.2.0。
ドライバーのバージョンはデータベースのバージョンと一致する必要がありますか?
編集:
プログラムがドライバをロードするファイルパスを追跡するにはどうすればよいですか?これにより、根本的な原因を見つけることができます。ありがとう。
ojdbc6-gロギングを有効にする方法は?このOracle_JDBCをフォローしようとしまし たが、完了する方法がわかりません。Javaシステムプロパティをグローバルに設定するにはどうすればよいですか?私は環境変数が良い選択ではないかもしれないことを知っています。他のアイデアはありますか?このJavaを使用する場合、jvmの作成に-Doracle.jdbc.Trace=trueと-Djava.util.logging.config.fileを追加したいだけです。起動時にOracleデータベースを設定していますか?
休止状態のロギングを有効にする方法は?
Hibernate-4.1.1とJBoss7.1を使用しています。
助けてください。
ありがとう。
oracle - Jboss 7 - Oracle データソースが機能しない
WAR プロジェクトを 1 つだけ使用して Web アプリに取り組んでいます。JPA を使用し、JBOSS 7で実行するために構成する必要がある DataSource があります。データベースはOracleです。
次のエラーが表示されます。
Jboss で dataSource を使用するための指示に従いました。だから私はこれらの構成を持っています:
{JBOSS_HOME}/modules/com/oracle/ojdbc6/main/module.xml:
ojdbc6.jar が存在し、名前が正しい。
スタンドアロン.xml
アプリケーション: META-INF/ persistence.xml:
Jboss が (アプリなしで) 起動すると、データソースが読み取られます (バインドされます)。アプリをデプロイしようとするとエラーが発生し、実行されません。
役立つ StackTrace の詳細:
java - Java + Oracle 接続 - 少数の作成後に拒否されました
データベース接続を正しく作成して閉じていることを確認するために、次のコードを書きました。これは、Oracle 10g XE インスタンスに接続する、Oracle シン クライアントのコア Java だけを含む単純な Java コードです。私は、このコードが問題なく実行されることを期待していました。これは、(単一のスレッドで) 接続を作成して閉じるだけだったからです。しかし、問題は、数回 (20ish) 実行した後、エラーがスローされることです。
コード:
}
そして、それがスローするエラーは
上記のコード スニペットに示すように 100 回ではなく、これを 1 回だけ実行すると、まったく問題なく動作することに注意してください。100 回実行すると、数回 (20 ~ 25 回) 実行された後、上記のエラーで終了します。たとえば、スニペットは、多くの接続が開いていて正常に閉じられたことを示していますが、その直後にエラーをスローし始めます。
このシナリオの何が問題になっていますか?
私がやろうとしていることについてもっと詳しく知りたい場合は、ここでブログを書いています。