問題タブ [connector-j]

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.

0 投票する
1 に答える
79 参照

java - DriverManager が SQL コネクタ jar を開けません

変な話ですが、聞いてください。

コネクタ登録中の DriverManager の動作については、2 人とも知っています。期待どおりに動作したことを誓いますが、突然 SQLException をスローし始めました: 適切なドライバーが見つかりません。これを修正するには、jar ファイルを壊して、素手でクラスパス直下のコンテンツ フォルダーを公開する必要があります。

次に、何らかの原因で DriverManager が jar ファイルを自動的に開くことができなくなったと結論付けました。奇妙なアクセス許可の問題のようです。私のシステムは Windows 8.1 で、administrator:cmd の下で Java を実行しています。

クラスパスフォルダーはほとんどありませんが、そのうちの1つだけにjarファイルが含まれています。

OK、これが以下のコードです。単純なテストクラスです

jarファイルを壊さずに、この問題をうまく修正したいと本当に思っています。誰か助けてください

0 投票する
2 に答える
7333 参照

java - 基本的なJavaアプリケーションからSQL Server 2014データベースに接続していますか?

私は現在、vishal layka による「Web 開発のための Java を学ぶ」という本を読んでいます。しかし、ここでできる限り説明する問題に遭遇しました。基本的に、connectorj 5.0.8 を使用して「book」というデータベースに接続できません。データベースはmicrosft sqlサーバー2014でローカルに実行されています。これは、接続を取得するために使用している方法です。

接続を取得しようとすると、この出力が得られます。

「SQL サーバー構成マネージャー」ツールで SQL サーバー構成を編集し、ポート 3306 で動作し、localhost で有効になるようにしました。サービスはありますが、まだ喜びはありません。以下は、この構成のイメージを示しています。

ここに画像の説明を入力

SQL Server に関する知識が不足しているために、ここにいることができなくなっているのではないかと考えています。問題になる可能性があると私が思うもう1つのことは、SQL管理スタジオにあります。ログインプロパティのパスワードを変更しようとすると。これは、下の画像で丸で囲まれています。

ここに画像の説明を入力

このパスワードを変更すると、[OK] をクリックし、[この db ユーザーのログイン プロパティ] を再入力すると、以前に変更したパスワードが元の状態に戻ったようです。質問が十分に明確であったことを願っています。

簡単な編集です。また、ファイアウォールを完全にオフにしようとしましたが、まだ接続できませんでした。

0 投票する
0 に答える
212 参照

mysql - MySQL JDBC ドライバー getGeneratedKeys がトリガーによって生成された主キー値を返す

MySQL では、列を使用する代わりに挿入前トリガーを使用して主キー列の値を作成していauto_incrementます (ロジックがより複雑であるため)。

MySQL JDBC ドライバー (Connector/J)Statement#getGeneratedKeys()が、トリガーによって生成された主キー値の値を返すことは可能ですか?

これまでのところ、値を返すだけを見てきましたauto_increment

0 投票する
3 に答える
2063 参照

java - 「報告されていない例外InstantiationException;をキャッチするか、スローするように宣言する必要があります」の修正方法

NetBeans 8.1 で単純な HelloWorld アプリケーションを構築しています。シンプルに動作する必要があり、コンパイルして実行するとすぐに、MySQL を使用してデータベース アカウントのテーブル acc のすべてのデータがロードされます。

プロジェクト ライブラリに Connector/J jar ファイルを含め、MySQL に接続しましたが、Class.forName(com.mysql.jdbc.Driver).newInstance(); コードの一部の行に「報告されていない例外 InstantiationException; キャッチするか、スローするように宣言する必要があります」と表示されており、何をすべきか正確にはわかりません。私はここで立ち往生しています。

これが私のコードです

0 投票する
0 に答える
55 参照

mysql - mysql 接続属性 time_zone

AWS の RDS 内で MySQL を使用してプロトタイプを作成しています。私たちのコードは現在 Oracle を使用しています。他のユーザーに影響を与えずに直接制御できない接続プール API を使用します。Oracle データベースは、米国/東部タイムゾーンに設定されています。MySQL データベースは UTC に設定されています。米国/東部向けに記述されている場合に UTC を処理するようにすべてのコードを変更するのではなく、a) 米国/東部を使用するようにデータベース サーバーを変更するか、b) 接続 URL に属性を設定してすべてを設定する方法を探しています。 UTC から米国/東部に変換する接続。

mysql コマンド ライン ツールを使用すると、time_zone = 'US/Eastern を設定でき、接続で機能します。グローバルに設定しようとしましたが、権限がなく、AWS のインスタンス内でそれを行う権限を自分自身に与えることができません。

MySQL コネクタ J の URL 文字列のドキュメントで、タイムゾーン関連の属性をすべて調べましたが、必要なものはないようです。connectionAttributes=time_zone:US/Eastern を試しましたが、うまくいきません。

AWS には、インスタンスの作成時に気付かなかった別のタイムゾーンでインスタンスを作成する魔法がありますか?

AWS 内でデータベース サーバーのタイムゾーンを変更する方法を探しましたが、うまくいきませんでした。私は何か見落としてますか?

mysql コマンド ライン クライアントの場合と同様に、URL 文字列を使用してこれを行う方法はありますか?

0 投票する
1 に答える
557 参照

java - 春。1 つの持続性ユニットを持つ複数のデータ ソース

春に複数のデータソースで同じ永続化ユニットを使用することは可能ですか?

例えば。2 つのデータベースがあります。それらは異なるサーバー上にあります。1 つは書き込み操作 (挿入、更新、削除など) 専用で、もう 1 つは読み取り操作専用です。どちらも同じ構造を使用しています。では、両方に 1 つの永続ユニットを使用できますか?

私の問題を解決するこのReplicationDriverを見つけました。マスターサーバーとスレーブサーバーを定義するだけで、コード側では@Transaction(readOnly=true)を定義するだけです。したがって、トランザクションがreadOnly=trueの場合、マネージャーはスレーブを使用し、それ以外の場合は、connector/jのドキュメントに従ってマスターを使用します。このTomcatを使用すると、データベースに接続できません。つまり、何も起こらないのを待つだけです。これは私のApache Tomcat context.xml

そして、これは私の春のcontext.xml

私の間違いは何ですか?tomcat が db に接続できないのはなぜですか? ところで、eclipslinkプロバイダーv2.4.0を使用してください

アップデート

理由はわかりませんが、jdbc:mysql://addressこの形式を使用すると、プログラムがデータベースに接続できず、以下の例外が発生します

ただし、jdbc:mysql://host1,host2形式を使用すると、接続に成功しました。2 番目のバージョンを使用する場合、接続ごとに同じユーザー名とパスワードを使用する必要がありますが、最初のバージョンでは異なるユーザー名とパスワードを定義できます。MySQL Connector Jのドキュメントによると

以下は、MySQL サーバーに接続する JDBC URL の代替形式です。IPv6 接続には必須ですが、IPv4 でも使用できます (角括弧 ([ ]) 内の項目はオプションです)。

jdbc:mysql://アドレス=(キー1=値)[(キー2=値)]...[,アドレス=(キー3=値)[(キー4=値)]...]...[/[データベース]]» [?propertyName1=propertyValue1[&propertyName2=propertyValue2]...]

これは、IP4 でも機能しますが、機能しないことを意味します。設定を見逃しているものはありますか?

0 投票する
0 に答える
61 参照

java - 2017 年 3 月 31 日の JDBC 結果を使用して、2017 年 4 月 1 日を MySQL データベースに挿入します。

最初に、サーバーとデータベースの両方が EST タイムゾーンに設定されていることに注意してください。私がこれを言うのは、タイムゾーンが異なっていても同じであるという問題について多くのコメントを目にするからです。

それは私のコードと言われています:

ただし、これを実行して実行するとSELECT date FROM myTable、結果の日付は 2017 年 3 月 31 日になります。サーバーとデータベースのタイムゾーンは同じです。

2017 年 4 月 1 日をデータベースに保存するにはどうすればよいですか?