TDQ-6291 TDQ-6364 1) fix the problem of reload sybase connection; 2) on branch 5.1

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_1@93461 f6f1c999-d317-4740-80b0-e6d1abc6f99e
This commit is contained in:
xqliu
2012-11-08 11:09:28 +00:00
parent 25fedcb75c
commit f2d4e3047e

View File

@@ -82,6 +82,8 @@ public class ExtractMetaDataUtils {
private static final char SPLIT_CHAR = ',';
private static final String SYBASE_DATABASE_PRODUCT_NAME = "Adaptive Server Enterprise"; //$NON-NLS-1$
public static Connection conn;
public static String schema;
@@ -113,7 +115,7 @@ public class ExtractMetaDataUtils {
dbMetaData = createFakeDatabaseMetaData(conn);
} else if (dbType.equals(EDatabaseTypeName.SAS.getXmlName())) {
dbMetaData = createSASFakeDatabaseMetaData(conn);
} else if (EDatabaseTypeName.SYBASEASE.getDisplayName().equals(dbType)) {
} else if (EDatabaseTypeName.SYBASEASE.getDisplayName().equals(dbType) || SYBASE_DATABASE_PRODUCT_NAME.equals(dbType)) {
dbMetaData = createSybaseFakeDatabaseMetaData(conn);
} else {
dbMetaData = conn.getMetaData();
@@ -166,6 +168,8 @@ public class ExtractMetaDataUtils {
teraDbmeta.setDatabaseName(database);
} else if (dbType.equals(EDatabaseTypeName.SAS.getXmlName())) {
dbMetaData = createSASFakeDatabaseMetaData(conn);
} else if (EDatabaseTypeName.SYBASEASE.getDisplayName().equals(dbType) || SYBASE_DATABASE_PRODUCT_NAME.equals(dbType)) {
dbMetaData = createSybaseFakeDatabaseMetaData(conn);
} else {
dbMetaData = conn.getMetaData();
}
@@ -219,7 +223,7 @@ public class ExtractMetaDataUtils {
teraDbmeta.setDatabaseName(database);
} else if (dbType.equals(EDatabaseTypeName.SAS.getXmlName())) {
dbMetaData = createSASFakeDatabaseMetaData(conn);
} else if (EDatabaseTypeName.SYBASEASE.getDisplayName().equals(dbType)) {
} else if (EDatabaseTypeName.SYBASEASE.getDisplayName().equals(dbType) || SYBASE_DATABASE_PRODUCT_NAME.equals(dbType)) {
dbMetaData = createSybaseFakeDatabaseMetaData(conn);
} else {
dbMetaData = conn.getMetaData();
@@ -242,11 +246,13 @@ public class ExtractMetaDataUtils {
if ("net.sourceforge.jtds.jdbc.ConnectionJDBC3".equals(conn.getClass().getName())) { //$NON-NLS-1$
dbMetaData = createJtdsDatabaseMetaData(conn);
} else if (dbMetaData.getDatabaseProductName().equals(EDatabaseTypeName.IBMDB2ZOS.getXmlName())) {
getDatabaseMetaData(conn, EDatabaseTypeName.IBMDB2ZOS.getXmlName());
dbMetaData = getDatabaseMetaData(conn, EDatabaseTypeName.IBMDB2ZOS.getXmlName());
} else if (dbMetaData.getDatabaseProductName().equals(EDatabaseTypeName.TERADATA.getXmlName())) {
getDatabaseMetaData(conn, EDatabaseTypeName.TERADATA.getXmlName());
dbMetaData = getDatabaseMetaData(conn, EDatabaseTypeName.TERADATA.getXmlName());
} else if (dbMetaData.getDatabaseProductName().equals(EDatabaseTypeName.SAS.getXmlName())) {
getDatabaseMetaData(conn, EDatabaseTypeName.SAS.getXmlName());
dbMetaData = getDatabaseMetaData(conn, EDatabaseTypeName.SAS.getXmlName());
} else if (dbMetaData.getDatabaseProductName().equals(SYBASE_DATABASE_PRODUCT_NAME)) {
dbMetaData = getDatabaseMetaData(conn, SYBASE_DATABASE_PRODUCT_NAME);
}
}
return dbMetaData;