TUP-5410:[Studio] MS SQL Server: Azure SQL (2016) support and 2014

version support
This commit is contained in:
hwang
2016-09-21 17:11:50 +08:00
parent d1691bd2d1
commit 8ee9562bdf
5 changed files with 97 additions and 7 deletions

View File

@@ -0,0 +1,75 @@
// ============================================================================
//
// Copyright (C) 2006-2016 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.core.database.conn.template;
import org.talend.core.database.EDatabaseTypeName;
import org.talend.core.database.conn.version.EDatabaseVersion4Drivers;
/**
* @author hWang
* @version 1.0 jdk1.6
* @date Aug 8, 2016
*/
public class DbConnStrForMSSQL extends DbConnStr {
private static final String URL_MSSQL = "jdbc:jtds:sqlserver://<host>:<port>/<sid>;<property>"; //$NON-NLS-1$
public static final String URL_MSSQL_2012 = "jdbc:jtds:sqlserver://<host>:<port>/<sid>;<property>";//$NON-NLS-1$
private static final String URL_MSSQL_PROP = "jdbc:sqlserver://<host>:<port>;DatabaseName=<sid>;<property>";//$NON-NLS-1$
/**
* DOC Marvin DbConnStrForHive constructor comment.
*
* @param dbType
* @param urlTemplate
*/
DbConnStrForMSSQL(EDatabaseTypeName dbType, String urlTemplate) {
super(dbType, urlTemplate);
}
public DbConnStrForMSSQL(EDatabaseTypeName dbType, String urlTemplate,String port, EDatabaseVersion4Drivers[] hiveModes) {
super(dbType, urlTemplate,port, hiveModes);
}
@Override
String getUrlTemplate(EDatabaseVersion4Drivers version) {
if (version == null) {
return super.getUrlTemplate(version);
}
switch (version) {
case MSSQL:
return URL_MSSQL;
case MSSQL_2012:
return URL_MSSQL_2012;
case MSSQL_PROP:
return URL_MSSQL_PROP;
default:
return super.getUrlTemplate(version);
}
}
@Override
String getUrlPattern(EDatabaseVersion4Drivers version) {
switch (version) {
case MSSQL:
return calcPattern(URL_MSSQL);
case MSSQL_2012:
return calcPattern(URL_MSSQL_2012);
case MSSQL_PROP:
return calcPattern(URL_MSSQL_PROP);
default:
return super.getUrlPattern(version);
}
}
}

View File

@@ -66,10 +66,11 @@ public enum EDatabaseConnTemplate {
"<host>")), //$NON-NLS-1$
ORACLE_OCI(new DbConnStr(EDatabaseTypeName.ORACLE_OCI, //
"jdbc:oracle:oci8:@<service_name>")), //$NON-NLS-1$
MSSQL(new DbConnStr(EDatabaseTypeName.MSSQL, //
"jdbc:jtds:sqlserver://<host>:<port>/<sid>;<property>", //$NON-NLS-1$
"1433")), //$NON-NLS-1$
"jdbc:oracle:oci8:@<service_name>")), //$NON-NLS-1$
MSSQL(new DbConnStrForMSSQL(EDatabaseTypeName.MSSQL, "jdbc:jtds:sqlserver://<host>:<port>/<sid>;<property>", //$NON-NLS-1$
"1433", new EDatabaseVersion4Drivers[] { EDatabaseVersion4Drivers.MSSQL, EDatabaseVersion4Drivers.MSSQL_2012,
EDatabaseVersion4Drivers.MSSQL_PROP})),
MSSQL05_08(new DbConnStr(EDatabaseTypeName.MSSQL05_08, //
"jdbc:sqlserver://<host>:<port>;DatabaseName=<sid>", //$NON-NLS-1$
"1433")), //$NON-NLS-1$

View File

@@ -75,11 +75,11 @@ public enum EDatabaseVersion4Drivers {
MYSQL_4(new DbVersion4Drivers(EDatabaseTypeName.MYSQL, "MySQL 4", "MYSQL_4", "mysql-connector-java-3.1.14-bin.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
MARIADB(new DbVersion4Drivers(EDatabaseTypeName.MYSQL, "MariaDB", "MARIADB", "mariadb-java-client-1.1.7.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
// add for 9594
MSSQL(new DbVersion4Drivers(EDatabaseTypeName.MSSQL,"JTDS", "JTDS", "jtds-1.3.1-patch.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
MSSQL(new DbVersion4Drivers(EDatabaseTypeName.MSSQL,"Open source JTDS", "JTDS", "jtds-1.3.1-patch.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
MSSQL_2012(new DbVersion4Drivers(EDatabaseTypeName.MSSQL,
"Microsoft SQL Server 2012", "Microsoft SQL Server 2012", "jtds-1.3.1-patch.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
MSSQL_PROP(new DbVersion4Drivers(EDatabaseTypeName.MSSQL,
"MSSQL_PROP", "MSSQL_PROP", "mssql-jdbc.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
"Microsoft", "MSSQL_PROP", "mssql-jdbc.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
VERTICA_7(new DbVersion4Drivers(EDatabaseTypeName.VERTICA, "VERTICA 7.0.x", "VERTICA_7_0_X", "vertica-jdbc-7.0.1-0.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
VERTICA_6_1_X(new DbVersion4Drivers(EDatabaseTypeName.VERTICA, "VERTICA 6.1.x", "VERTICA_6_1_X", "vertica-jdk5-6.1.2-0.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$

View File

@@ -950,6 +950,9 @@ public class ExtractMetaDataUtils {
} else if (EDatabaseTypeName.MYSQL.getXmlName().equals(dbType)
&& (EDatabaseVersion4Drivers.MARIADB.getVersionValue().equals(dbVersion))) {
driverClassName = EDatabase4DriverClassName.MARIADB.getDriverClass();
}else if(EDatabaseTypeName.MSSQL.getDisplayName().equals(dbType)
&& EDatabaseVersion4Drivers.MSSQL_PROP.getVersionValue().equals(dbVersion)){
driverClassName = EDatabase4DriverClassName.MSSQL2.getDriverClass();
}
}
} else {

View File

@@ -2838,6 +2838,9 @@ public class DatabaseForm extends AbstractForm {
* @return
*/
private List<String> getVersionDrivers(String dbType) {
if(asMsSQLVersionEnable()){
return getMSSQLVersionDrivers(dbType);
}
List<String> result = new ArrayList<String>();
List<EDatabaseVersion4Drivers> v4dList = EDatabaseVersion4Drivers.indexOfByDbType(dbType);
for (EDatabaseVersion4Drivers v4d : v4dList) {
@@ -2847,6 +2850,13 @@ public class DatabaseForm extends AbstractForm {
}
return result;
}
private List<String> getMSSQLVersionDrivers(String dbType) {
List<String> result = new ArrayList<String>();
result.add(EDatabaseVersion4Drivers.MSSQL.getVersionDisplay());
result.add(EDatabaseVersion4Drivers.MSSQL_PROP.getVersionDisplay());
return result;
}
private void addFieldsForGeneralDB(Composite parent) {
@@ -3493,6 +3503,7 @@ public class DatabaseForm extends AbstractForm {
|| EDatabaseConnTemplate.PLUSPSQL.getDBDisplayName().equals(dbTypeCombo.getText())
|| EDatabaseConnTemplate.VERTICA.getDBDisplayName().equals(dbTypeCombo.getText())
|| EDatabaseConnTemplate.PSQL.getDBDisplayName().equals(dbTypeCombo.getText())
|| EDatabaseConnTemplate.MSSQL.getDBDisplayName().equals(dbTypeCombo.getText())
|| EDatabaseConnTemplate.IMPALA.getDBDisplayName().equals(dbTypeCombo.getText());
}
@@ -4379,7 +4390,7 @@ public class DatabaseForm extends AbstractForm {
boolean isSAPHana = asSAPHanaVersionEnable();
boolean isImpala = ImpalaVersionEnable();
boolean isMsSQL = asMsSQLVersionEnable();
String selectedVersion = getConnection().getDbVersionString();
dbVersionCombo.removeAll();
dbVersionCombo.setHideWidgets(true);