問題タブ [database-metadata]
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.
oracle - Oracleで特定のテーブルがいつ作成されたかを調べる方法は?
Oracle で、特定のテーブルがいつ作成されたかを調べる方法はありますか?
同様に、特定の行がいつ挿入/最後に更新されたかを調べる方法はありますか?
java - DatabaseMetaData をデバッグできないのはなぜですか?
JDBC-OBDC を使用した Java の小さなアプリケーションで奇妙な状況が発生しました。DatabaseMetaData クラスを使用してデータベースを検査しています。プログラムを実行すると、すべて問題なく動作します。しかし、DatabaseMetaData を含む Resulset 内の値を確認するためにデバッグしたい場合、while 内にブレークポイントを配置した場合にのみ java.sql.SQLException がスローされます。これが私のコードです:
コードのこのセクションにブレークポイントを配置できないのはなぜですか??
これが printStackTrace です。
私のコードの行 Snooper.java:56 は
ありがとう。
java - DatabaseMetaData クエリから結果セットのフェッチ モードを変更できますか?
DatabaseMetaData インスタンスを使用してデータベースを検査しています。DB 内のテーブルのすべての情報を取得し、すべての結果セットを問題なく反復処理します。
繰り返しの最後に、ResultSet の先頭に戻りたいので、beforeFirst() メソッドを呼び出し、次に next() メソッドを呼び出して、ResultSet の最初の要素を取得します。これが私のコードです:
すべての結果を取得しましたが、次の例外があります。
「ここまではすべて正常に見えます。私の接続 (MSAcsess への JDBC-OBDC) によると、私の ResultSet のフェッチ モードは ONLY_FORWARD であるため、次を使用して変更しようとしました。
予約モードを許可するために...しかし、それは私を許可しません。新しい例外:
フェッチ モードを DatabaseMetaData からの結果セットに設定することは可能ですか? どうすればできますか??
ありがとう。
java - JDBCからシーケンスメタデータを取得する方法は?
(基本的なJDBCを使用して)JavaコードからOracleDBのさまざまな種類のメタデータを取得しようとしています。たとえば、_FOO
サフィックスが付いたテーブルのリストを取得する場合は、次のように実行できます。
ここで、データベースからすべてのシーケンスを取得したいと思います(たとえば、という名前のすべてのシーケンスS_xxx_FOO
)。
DatabaseMetaData
シーケンスに関連するものが何も表示されないので、どうすればよいですか?
次のようなクエリを実行する必要がありますselect * from user_sequences
か?
mysql - MySQLのすべてのテーブルのすべての列の名前を取得するには?
MySQL
すべてのテーブルを一覧表示せずに、すべてのテーブルからすべての列名をすばやく取得する方法はありますか?
sql - データベース メタ ツール
私は現在、適切な SQL リレーショナル DB に期待されるほとんどすべてのドキュメントやメタデータが欠落しているレガシー データベースを使用しています。多くのクライアント サイトに存在し、アップグレード手順がないため、ローカルのテスト コピーを除いて、DB スキーマを変更することはできません。データベースに関する独自のメタデータを作成して保持するために使用できるツールはありますか? リレーションシップ、テーブルと列に関する基本的なドキュメント、およびストアド プロシージャ内の参照を追跡したいと考えています。200 以上のテーブルと 3300 以上の SP があります。ベースの自動生成は、特に SP の場合に非常に役立ちます。FOSS と Linux が望ましいですが、私は何かを手に入れるためだけに勝つことに落ち着きます。
java - 名前は既存のオブジェクトによってすでに使用されています
このコードでは、プログラムを実行するたびにテーブルがすでに存在する場合はテーブルを削除しようとしていますが、コントロールはif
ステートメント内にありません。table1
およびtable2
データベースに存在します。私は自分のデータベースでそれをチェックしました。ステートメントに含まれていないif
ため、テーブルを作成しようとすると、最後の行に次のエラーが表示されますORA-00955: name is already used by an existing object
。私は何が間違っているのですか?
java - Springの遅いメタデータを使用したJDBCはOracleをフェッチします
SpringJdbcUtils.extractDatabaseMetaData()
メソッドを使用してデータベースを分析しています。この関数はコールバックを呼び出し、オブジェクトを渡しDatabaseMetaData
ます。このオブジェクトはを提供しgetColumns(String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern)
ます。
私はそれをこのように呼びgetColumns("",TABLE_OWNER_USERNAME,null,null)
、結果として400列を取得します。これらはまさに私が望む結果ですが、リクエストには1分以上かかります。
どういうわけかこのクエリを高速に最適化できますか?400行のプルは、1分ではなく1秒で発生するはずです。
編集:私は春の部分が遅いとは思わない。綿密な分析によると、取得にDatabaseMetaData
は数秒かかりますが、実行にgetColumns()
は非常に長い時間がかかります。
java - JDBCを使用して特定のテーブルがMySQLデータベースに存在するかどうかをテストしようとしたときにエラーが発生しました
basestation
JDBCを使用してJavaプログラムからMySQLテーブルにという名前のテーブルが存在するかどうかを確認したいと思います。私のコードは次のとおりです。
しかし、私のデータベースにはテーブルbasestations
が存在しますが、私のコードは最初の句に入ることがなく、常にテーブルが存在しないと判断しているようですtable already exists in database
。そのため、最初からテーブルを作成しようとすると、当然SQLエラーが発生します。
postgresql - データがPostgresにいつ挿入されたかを知る方法は?
データでいっぱいの既存のPostgresデータベースを継承しました。ほとんどのデータには「created_date」列の値があります。以前のデータの一部は、これが追跡される前に挿入されました。
INSERT
クエリがいつ行われたかを追跡するPostgresメタデータテーブルがどこかに隠されていますか?