You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ddlutils-dev@db.apache.org by "Markus Windhager (JIRA)" <ji...@apache.org> on 2007/12/03 08:58:43 UTC
[jira] Created: (DDLUTILS-187) Invalid Type-Mapping: Oracle
VARCHAR2(4000) --> MySQL VARCHAR(4000)
Invalid Type-Mapping: Oracle VARCHAR2(4000) --> MySQL VARCHAR(4000)
-------------------------------------------------------------------
Key: DDLUTILS-187
URL: https://issues.apache.org/jira/browse/DDLUTILS-187
Project: DdlUtils
Issue Type: Bug
Components: Core (No specific database)
Affects Versions: 1.0
Environment: WinXP, Eclipse 3.2, Oracle 9g, MySQL 5.0.45, DDLUtils 1.0
Reporter: Markus Windhager
Assignee: Thomas Dudziak
I've got two databases: one Oracle and one MySQL.
Let's assume that the Oracle DB contains the following Table: MyTestTable ( MyTestColumn VARCHAR2(4000) )
The MySQL Database is empty.
If I create a alterDatabase sql script, DDLUtils maps the VARCHAR2(4000) column from Oracle
to a VARCHAR(4000) column in MySQL, which is not correct.
Shouldn't the datatype comparison honor the different maximum datatype sizes?
My Code:
final DataSource masterDs = ...; // DataSource to Oracle database
final DataSource clientDs = ...; // DataSource to MySQL database
final Platform masterPlatform = PlatformFactory.createNewPlatformInstance(masterDs);
final Platform clientPlatform = PlatformFactory.createNewPlatformInstance(clientDs);
final Database masterDb = masterPlatform.readModelFromDatabase(null, null, null, new String[] {"TABLE"});
final Database clientDb = clientPlatform.readModelFromDatabase(null, null, null, new String[] {"TABLE"});
final PrintWriter out = new PrintWriter(new FileOutputStream(new File("out/master2client.sql")));
try
{
clientPlatform.getSqlBuilder().setWriter(out);
clientPlatform.getSqlBuilder().alterDatabase(clientDb, masterDb, null);
}
finally
{
out.close();
}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.