問題タブ [jtds]
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 - Hibernate が間違ったデータベースに接続する
この構成では、休止状態は私のプログラムを「db_name」ではなく「master」データベースに接続します。どうすればこの問題を解決できますか?
編集: jtds 1.2.5。
java - jTDS JDBC ドライバー: getNString() がエラーをスローする
jtDS JDBC ドライバーを使用していますResultSet.getNString(index);
が、呼び出すと次の例外が発生します。
使用すると問題getString(index)
なく動作します..getNString()
問題が発生し、MSSQL テーブルの列が として定義されているだけNVarChar
です。それで、何が得られますか?jtDS はサポートしていませんgetNString()
か? 多分それは同じ関数を介して両方VarChar
を取得しますか?NVarChar
getString()
編集:
関連する unicode の問題.. Unicode を使用しようとしても、挿入には機能しないことがわかります。私の列は次のように定義されnvarchar(255)
ていますが、次のINSERTステートメントは機能しません。
入力した Unicode 文字が、データベースで疑問符として表示されます。これは通常、挿入ステートメントで前述のパラメーターの前にNを追加するのを忘れた場合に発生します..しかし、ここで明確に指定したことがわかります。JtDS の機能リストには、NVARCHAR、NTEXT などをサポートしていると書かれていますが、現在は問題しか見られません。私は何を間違っていますか?
編集2
問題 1 は解決されました。いくつかの漢字を SSMS 経由でデータベースに直接挿入しました。使用すると、正常に動作しましたgetString(index)
。したがって、jTDS は、私が推測するすべてのテキスト タイプに対して getString を使用しているようです。奇妙なことに、関数に対して何らかの種類のサポートされていない例外をスローしませんgetNString(index)
。
そのため、Unicode データをNVARCHAR列に挿入する方法の問題が残っています。きっとここにいる誰かがこれを経験したことがありますか?
編集3
バッチを使用するのではなく、各メソッドで準備済みステートメントを使用するようにコードを変更し、setInt、setString などのメソッドを使用しました。しかし、私はまだ同じ問題を抱えています... Unicode に setString() を使用すると、??? が挿入されます。私のデータベースに。setNString() を使用すると、この投稿の上部で getNString を実行していたときに受け取ったのと同じエラーが表示されます... これは正気ではありません... 実際に Unicode をサポートしていない場合、このドライバーがどうしてそんなに人気になるのでしょうか? ?? ここで何が欠けていますか?このサイトでは、NVARCHAR などをサポートしていると言っています。
java - 次の SET オプションの設定が正しくないため、INSERT が失敗しました: 'ARITHABORT'
この問題に関する Stackoverflow のトピックを読みましたが、実際にはまだ解決策がありません。
私の問題は、SQL Server 2008 のストアド プロシージャで XML パラメータとして文字列または Clob を送信することです。jTDS を使用して接続しています。「ARITHABORT」をオンに設定する必要があると読みましたが、どこでそれを行うことができるのか本当にわかりません。
たぶん、JAVAまたはDBでの自分のセッションでも...助けてください!! (そして、私の非常に下手な英語で申し訳ありません)
Ok!これが私にエラーを与えている方法です:
java - (JTDS) java.sql.SQLException: データ型 nvarchar を数値に変換中にエラーが発生しました
JTDS を使用した SQL Server 2005 データベースのビューからの読み取りに問題があり、解決策を見つけるのに深刻な問題があります。
クエリは、ビュー内のすべてを選択するだけです:
この行で例外がスローされています。
スタックトレースは次のとおりです。
ビューのデータ型:
どんな助けでも大歓迎です。
varchar - jtds TDS プロトコル エラー: 無効なパケット タイプ
jTDS ライブラリ (v1.2.6) を使用して Sybase ASA v11.0.1 に接続していますが、varchar データを返そうとするたびに次のエラーが発生します。
プロトコル エラー: 無効なパケット タイプです
0x0
(またはx4
またはx7
)
タイムスタンプまたは数値を返すと、クエリは正常に機能します。このエラーの原因や解決方法について何か考えはありますか?
java - SQL Server JTDS 接続の問題
これは奇妙です。Windows用に構成された統合認証を持つSQL Server 2008インスタンスに接続しています。コードでこれを行うことで、統合認証をバイパスする方法を見つけました。
上記のように、jtds ドライバーで name のクラスを実行した後、完全に機能します。ただし、これを接続文字列として構成ファイルに入れる必要があります。上記を変更して、明示的にユーザー名、パスワードパラメーターを次のように送信せずに getConnection でメソッド呼び出しを使用するようにします。
Windows認証を使用して認証しようとしているため、ネイティブSSPIライブラリがロードされていないという例外が発生します。したがって、jts ディストリビューションの dll を見つけて、ntlmauth.dll をビンとシステム クラスパスに追加すると、信頼できないドメイン ログイン例外が発生します。これは、ドメインで「RUNAS.exe」を実行することで解決できることがわかっていますが、元に戻ります。望ましくない統合認証を使用する必要があります。
問題は、 getConnection() メソッドでユーザー名とパスワードをパラメーターとして渡すことで、問題なく接続を作成できるのはなぜですか。そうしないと、統合認証が強制されます。コードで接続を自分で作成した場合、これは問題になりませんが、プロパティ ファイルに配置する単一の接続文字列が必要であり、getConnection() を呼び出してユーザー名、パスワードを提供する接続文字列を作成する方法がわかりません。パラメータとして。
私はこれらの退屈な問題をグーグルで検索したのは嫌いですが、手ぶらで出てきました。- ダンカン
sql-server - ストアド プロシージャを呼び出す Hibernate のトランザクションを無効にする
この Web アプリケーションでは、すべての DB アクセスはストアド プロシージャを介して実行されます。この設計上の決定は確定しており、変更することはできません。
さらに、すべてのトランザクション処理はストアド プロシージャ内で行われます。Java 層はトランザクションを使用してはなりません。
これは、プレーンな JDBC を使用して簡単に実現できます。しかし、ORM とキャッシング機能には Hibernate を使用したいと思います。
Hibernate でストアド プロシージャを呼び出すのは簡単です。
しかし、DB プロファイルを実行すると、次のように表示されます。
4x トランザクションステートメントを無効にできる方法はありますか?
私の技術スタックは以下の通りです。
- 春 3.1.2
- 休止状態 4.1.8
- jTDS (JDBC ドライバー) 1.2.5
- Microsoft SQL Server 10.x
前もって感謝します... アダム。
@ctapobep - これはプレーンな JDBC を使用して行う方法です。
そして、これがプロファイルに表示されているものです-完全に機能します!
java - 更新ステートメントからResultSetを返しますか?
更新した影響を受ける行のIDを返そうとしました。設定しても、なぜこれからResultSetが戻らないのか(主キーのみで問題ない)、疑問に思っていStatement.RETURN_GENERATED_KEYS
ます。最新のjTDSドライバー1.3.0を使用してMicrosoftSQLServerに接続します。
ここに何か提案はありますか?
android - Android4.1SQLサーバー接続
私はandroid4.1.1、IDE = eclipse、およびSQLServer2008を使用しています。
UIスレッドでコードスニペットを実行すると、「SQL Serverから情報を取得できません:」というエラーが表示されますが、バックグラウンドスレッドまたはAsyncTaskスレッドでコードを実行すると機能します。2つのプロセスを理解する上で何か助けていただければ幸いです。
注:「この問題は、minSDKVersionを8から10にアップグレードしたときに発生しました。」
java - ScalaでJTDSを使用したサポートされていないバージョンエラー
JavaJTDSドライバーを使用してScalaのデータベースに接続しようとしています。ただし、使用しようとすると、(java?の)バージョンが間違っているというエラーが表示されます。
java.lang.UnsupportedClassVersionError:net / sourceforge / jtds / jdbcx / JtdsDataSource:サポートされていないmajor.minorバージョン51.0
- Scalaバージョン:2.9.2
- Javaバージョン:1.6
- jtds1.3.0の使用
- javaバージョンの出力:
javaバージョン"1.6.0_35"Java(TM)SEランタイム環境(ビルド1.6.0_35-b10-428-11M3811)Java HotSpot(TM)64ビットサーバーVM(ビルド20.10-b01-428、混合モード)