問題タブ [ddlutils]
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でデータベースメタデータを取得する最も簡単な方法は?
私はjava.sql.DatabaseMetaData
インターフェースに精通していますが、使用するのはかなり不格好です。たとえば、テーブル名を見つけるには、列名としてよく知られているリテラルを使用しgetTables
て、返されたを呼び出してループする必要があります。ResultSet
データベースメタデータを取得する簡単な方法はありますか?
java - DDLUtils と自動インクリメント値
DDLUtilsを使用しようとすると、常に自動インクリメントに設定されている列の ID 値を引き継ぐように見えます。どうすればこれを防ぐことができますか?
たとえば、所有者 ID という列を持つ Dogs テーブルがあります。列 ownerID は自動インクリメントに設定されています。ただし、所有者のリストは連続しておらず、ギャップがあります (たとえば、所有者 ID の 2、4、5、6、7、10 は存在しますが、1、3、8、9 は削除されたため存在しません)。問題は、DdlToDatabase の復元時に、所有者 ID が 1、2、3、4 などにリセットされることです。これは、所有者 ID を介した Dogs テーブルのリンクがすべて正しくないことを意味します。
自動インクリメント フィールドの値を正しくインポートするように DDlUtils を取得するにはどうすればよいですか?
java - データベース スキーマを読み取るための Java ライブラリ
を指定して、列、テーブル、および整合性制約に関するメタ情報を読み取ることができる、軽量でオープン ソースの多かれ少なかれクロスデータベース Java ライブラリを探していますDataSource
。
java - org.apache.ddlutils.DdlUtilsException の使用に関する問題
データベースのメタデータを読み取るためにorg.apache.ddlutilsパッケージを使用しようとしています。私は次の方法を書きました:
しかし、ステートメントが DdlUtilsExceptionをスローすると、次のエラーが発生します。
タイプ DdlUtilsException の例外はスローできません。例外タイプは、Throwable のサブクラスでなければなりません
http://db.apache.org/ddlutils/api/org/apache/ddlutils/DdlUtilsException.htmlの APIに次のように明確に記載されているため、このエラーの背後にある理由がわかりません。
ご意見をお聞かせください。
java - Oracle 11.1.0 での DdlUtils の使用に関する問題
この質問は質問https://stackoverflow.com/questions/3362965/problem-with-ddlutils-in-oracle-10gに似ています。私の問題は(または少なくとも私はそう思う)上記の質問とは少し異なるため、新しい問題を投稿します。
DdlUtils-1.0、Java-6 (OpenJdk)、ojdbc6.jar、および Oracle 11.1.0 を使用しています。移行は、ant タスクによって開始されます。タスクは次のようになります。
oracle11 は ddlutils でサポートされていないため、${source.platform} は「oracle10」に設定されます。スキーマ定義の作成は非常にうまく機能しますが、データをダンプするときに次の例外に直面します:
[databaseToDdl] org.apache.ddlutils.model.ModelException: 不明な JDBC タイプ コード 2007 [databaseToDdl] at org.apache.ddlutils.model.Column.setTypeCode(Column.java:215) [databaseToDdl] at org.apache.ddlutils. platform.JdbcModelReader.readColumn(JdbcModelReader.java:781) [databaseToDdl] at org.apache.ddlutils.platform.oracle.Oracle8ModelReader.readColumn(Oracle8ModelReader.java:117) [databaseToDdl] at org.apache.ddlutils.platform.JdbcModelReader. readColumns(JdbcModelReader.java:755) [databaseToDdl] at org.apache.ddlutils.platform.JdbcModelReader.readTable(JdbcModelReader.java:565) [databaseToDdl] at org.apache.ddlutils.platform.oracle.Oracle8ModelReader.readTable(Oracle8ModelReader. java:102) [databaseToDdl] at org.apache.ddlutils.platform.oracle.Oracle10ModelReader.readTable(Oracle10ModelReader.java:80) [databaseToDdl] at ...
http://download.oracle.com/javase/6/docs/api/constant-values.html#java.sql.Types.BITに、jdbc タイプ コードがリストされています。どうやら ddlutils はこの型コードを jdbc ドライバーから取得しますが、java.sql.Types で対応する型を見つけることができませんでした。
これを解決する方法を知っている人はいますか?
java - DdlUtils: 挿入の延期
Oracle から mysql にデータベースを移行するために、ddlutils を使用しています。スキーマの移行は私の目的のために機能しますが、行が欠落しているためデータの挿入に失敗します。ログ ファイルからの次の抜粋は、それを説明しています。
データベースには、行 RECORDSTATUS_ID=0 があります。誰かが同じ問題に直面しましたか?誰かがアイデアを持っていますか、問題は何ですか?
java - HSQLDB (2.2.8) + DDLUtils による自動インクリメント
HSQLDB を組み込みデータベースとして使用したいのですが、自動インクリメントに問題があります。
私が理解している限り[CALL] IDENTITY()
、最後の主キー値を取得するために使用できます。ただし、iBatis と HSQLDB の両方を使用した実験では、DatabaseManagerSwing
常に 0 の値が返されます。
自動インクリメントを HSQLDB で動作させるにはどうすればよいですか?
編集:
テーブルの自動生成にDDLUtilsを使用しているとは言いませんでした。以下はHSQLDB に適していません。
また、ドメイン クラスに使用される iBatis SQL マップは次のとおりです。
java - ddlutils でデータベースを変換する際の問題
mysql データベースを Java (derby) データベースに変換する必要があります。これはant-tasksで問題なく動作し、まったく問題ありません。残念ながら、originin-database のすべてのテーブルが target-database で使用されるわけではありません。ddlUtils の ant-tasks でテーブルを名前でフィルタリングする機会が見つからなかったので、ddlUtils.jar を使用して小さな Java アプリケーションを作成することを検討します。
しかし、これを試してみると、mysql-database からスキーマとデータを抽出することさえできません。ddlUtils-api の例は、私のような初心者にはあまり説明していません。
この問題に対処するためのより包括的な例はありますか?
私の計画は、作業を次のステップに分割することでした。
- origin-database から db-schema を取得する (TableNames でフィルタリング)
- origin-database からデータを取得する (TableNames でフィルタリング)
- 削減された db-schema を使用してターゲット データベース (Java) にスキーマを作成する
- 削減されたコンテンツを使用して、ターゲット データベースにデータを挿入します。
APIセクションの「ライブデータベースからモデルを読み取る」は、このアクションに使用されるメソッドplatform.readModelFromDatabase(String)ですが、今ではプラットフォームオブジェクトをインスタンス化できなかったため、多くのことなくメソッドを呼び出すことができました例外。
どうもありがとうアルフ
sql-server - WebAppを異なるDBMS間でスムーズに切り替えるにはどうすればよいですか(DBの独立性)?
バックエンドデータベースとしてInformixを使用するJavaWebアプリケーションがあります。私のスキーマの多くのテーブルには、CLOB、BLOB、およびSERIAL8タイプの列が含まれています。ここで、Informixの代わりにSQL Serverを使用することにしましたが、上記のデータ型を対応するSQL Serverのデータ型に変換する際に問題が見つかりました。たとえば、DB2またはOracleを使用するようになったときにも、同じ問題が発生します。各DBベンダーには独自の関係表現があるため、テーブル間の関係を一致させる際の問題。
タイプに関係なく、列のデータ型を変更せずに、任意のデータベースサーバーと対話できるように、アプリケーションとデータベーススキーマを設計する方法はありますか?DDLUtilsとjOOQについて聞いたのですが、自分に適しているかどうかわかりません
postgresql - Apache DdlUtils :: 自動インクリメント キーのシーケンス名を取得するには?
私はApache DdlUtilsを使用して、テーブルと列のメタデータについて PostgreSQL データベースにクエリを実行しています (最終的な目的は、javax.persistence で注釈が付けられたエンティティ Bean を自動的に生成することです)。ただし、DdlUtilsライブラリは、自動インクリメント列で使用されるシーケンスの名前を取得する方法を提供していないようです。Columnクラスは、自動インクリメント ステータスを照会する isAutoIncrement メソッドを提供しますが、それに関連付けられたシーケンス名を取得する方法が見つかりませんでした。これは PostgreSQL の DDL の一部です。例:
その情報を取得する代わりに、メタデータ/カタログテーブルを直接クエリする必要がありますか?