問題タブ [jdbc]
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 サーブレットを使用して Mysql db にアクセスする Web アプリケーションを開発しています。現在開いている DB への接続数を取得するにはどうすればよいですか?
編集 :
「show processlist」を試してみたところ、次のように表示されました:2695159、しかしそれは正しくありません。私はこの新しいプロジェクトを開発しているだけです。私は唯一のユーザーであり、それほど多くのプロセスを実行できませんでした。プロジェクトの DBにアクセスしているユーザー。すべての db ユーザーの数ではなく、テーブルが 1 つしかないデータベースにログインしているユーザーだけです。
java - SQL 削除カスケーディング ヘルプ (特定の質問)
HSQLデータベースに多対多の関係を持つ2つのテーブル(説明のために名前を変更/リファクタリング)があります。多対多の関係の片側から削除するときにすべてを消去したい (テーブルをクエリせずに、これはパフォーマンスが重要です)
ここに私の主なテーブルがあります:
ここに私の結合テーブルがあります:
ここに私の制約があります:
私は基本的にこれをやりたいです:「person_id = 0の人から削除」し、JOBエンティティが孤立する場合はPERSON、JOB_PERSON、およびJOBからすべてを削除します(多対多テーブルで参照されなくなります)
データベースにクエリを実行せずにこれは可能ですか? 削除すると、PERSON と JOB_PERSON からのみ削除されます。おそらくおわかりのように、私の SQL スキルは不足しています。
これが私が遊んでいるダミーデータです:
したがって、これらのステートメントの両方を入力すると、次のようになります。
3 つのテーブルすべてをすべて削除したいと考えています。可能?
mysql - JDBC + XMLRPC + Tomcat + MySQLを使用して、潜在的に大きなMySQLクエリを実行しています。より良い方法は何ですか?
リモートサーバー上のMySQLデータベースに接続する必要があるクライアントプログラムを持つJavaベースのプロジェクトに取り組んでいます。これは次のように実装されました。
JDBCを使用して、実行するSQLクエリを記述します。このクエリは、Apache Tomcatを使用してサーブレットとしてホストされ、XML-RPCを介してアクセスできるようになります。クライアントコードはXML-RPCを使用して、これらのJDBCベースの機能をリモートで実行します。これにより、MySQLデータベースを非公開に保ち、事前定義された関数への使用を制限し、Tomcatがデータベーストランザクションを管理できるようになります(MySQLに単独で実行させるよりも優れていると言われていますが、実際にはそうではありません)理由を理解してください)。ただし、このアプローチには多くの定型コードが必要であり、Tomcatはサーバー上で大量のメモリを消費します。
私はこれを行うためのより良い方法を探しています。私が検討している1つの方法は、MySQLデータベースをパブリックにアクセス可能にし、JDBCベースのコードをストアドプロシージャとして書き直し、パブリックな使用をこれらのプロシージャのみに制限することです。これで私が目にする問題は、すべてのJDBCコードをストアドプロシージャに変換するのが難しく、時間がかかることです。また、MySQLの権限についてもあまり詳しくありません。テーブルでselectステートメントを実行するストアドプロシージャへのアクセスを許可するだけでなく、同じテーブルで任意のselectステートメントを拒否することはできますか?
ストアドプロシージャソリューションに関する考えや提案と同様に、他のアイデアも歓迎します。
ありがとうございました!
java - JDBC を使用する場合、MySQL で Oracle の REF CURSOR に相当するものは何ですか?
Oracleでは、参照カーソルを宣言できます...
...そしてそれを使用して、戻り値としてカーソルを渡します...
...そして、JDBC を使用して結果セットとしてキャプチャします...
MySQLで同等のものは何ですか?
java - JDBCで開いている接続をプログラムでチェックする
jdbc for oracleデータベースで開いている接続を確認するにはどうすればよいですか?
注:conn.isClosed()
これには使用できません。
oracle - JBoss 上の Oracle ADF: ラップされた Jdbc 接続の問題
JBossサーバーでOracle ADFビジネス・コンポーネントを使用してアプリケーションを実行しようとしています。私はそれを展開することに成功しましたが、ページを読み込もうとすると、以下の例外が発生します:
これを解決する方法はありますか?このラップされた接続を使用しないようにJBossを構成するか、ラップを解除するようにADFフレームワークを構成しますか?
oracle - JDBC - Oracle ArrayIndexOutOfBoundsException
Oracle テーブルに行を挿入しようとすると、例外が発生します。私はOracle 11にojdbc5.jarを使用しています。これは私が試しているSQLです
そして、次の例外が発生します。どんな助けでも大歓迎です。
java - 任意の場所から JDBC ドライバーを使用する方法
データベースへの JDBC 接続をテストする必要があります。これを行うための Java コードは、次のように単純にする必要があります。
ドライバー マネージャーは、指定された接続 URL に適したドライバーを検索します。ただし、実行時に JDBC ドライバー (jar) をロードできる必要があります。つまり、上記のコード スニペットを実行する Java アプリケーションのクラスパスに JDBC ドライバーがありません。
したがって、次のコードを使用してドライバーをロードできます。たとえば、次のようになります。
しかし、どのクラスローダーを使用するかを伝えることができないため、ドライバーマネージャーはまだそれを取得しません。現在のスレッドのコンテキスト クラスローダーを設定しようとしましたが、まだ機能しません。
誰でもそれを達成するための最良の方法について何か考えがありますか?
multithreading - JDBC: マルチスレッド アプリで接続を共有して、素敵なトランザクションを楽しむことはできますか?
JDBC でトランザクションを処理する従来の方法は、auto-commit を false に設定することのようです。これにより新しいトランザクションが作成され、commit の呼び出しごとに次のトランザクションの開始がマークされます。マルチスレッド アプリでは、スレッドごとに新しい接続を開くのが一般的であることを理解しています。
私は RMI ベースのマルチクライアント サーバー アプリケーションを作成しているので、基本的にサーバーは新しい接続ごとに 1 つのスレッドをシームレスに生成します。トランザクションを正しく処理するには、これらのスレッドごとに新しい接続を作成する必要がありますか? このようなアーキテクチャのコストは法外なものではありませんか?
spring - スタンドアロン ESB の組み込み代替手段としての Spring Integration
Spring Integrationプロジェクトを組み込み ESB として使用した経験のある人はいますか?
私は次のようなユースケースで非常に興味深いです:
- スケジュールに基づいてディレクトリからファイルを読み取る
- JDBC データ ソースからデータを取得する
- その場でモジュールを開始/停止/再展開するモジュール性と可能性 (たとえば、1 つのモジュールがスケジュールに基づいてディレクトリをスキャンし、別のモジュールが jdbc データ ソースからクエリを呼び出すなど)
- 繰り返し/再試行ポリシー
アップデート:
「JDBC データ ソースからデータを取得する」以外のすべての質問に対する回答が見つかりました。技術的に可能ですか?