diff --git a/plugins/org.jkiss.dbeaver.ext.mssql/src/org/jkiss/dbeaver/ext/mssql/SQLServerConstants.java b/plugins/org.jkiss.dbeaver.ext.mssql/src/org/jkiss/dbeaver/ext/mssql/SQLServerConstants.java index 5a53e4b7b63688bb3f35e6267242a42404a8e47f..2a60969ee6422f188bfca67e26cec8faa1e31075 100644 --- a/plugins/org.jkiss.dbeaver.ext.mssql/src/org/jkiss/dbeaver/ext/mssql/SQLServerConstants.java +++ b/plugins/org.jkiss.dbeaver.ext.mssql/src/org/jkiss/dbeaver/ext/mssql/SQLServerConstants.java @@ -34,4 +34,5 @@ public class SQLServerConstants { // https://support.microsoft.com/en-us/help/321185/how-to-determine-the-version--edition-and-update-level-of-sql-server-a public static final int SQL_SERVER_2016_VERSION_MAJOR = 13; public static final int SQL_SERVER_2008_VERSION_MAJOR = 10; + public static final int SQL_SERVER_2005_VERSION_MAJOR = 9; } diff --git a/plugins/org.jkiss.dbeaver.ext.mssql/src/org/jkiss/dbeaver/ext/mssql/model/SQLServerMetaModel.java b/plugins/org.jkiss.dbeaver.ext.mssql/src/org/jkiss/dbeaver/ext/mssql/model/SQLServerMetaModel.java index 52b6f22be40b8178f7f3cd4d09915d3f6a06a210..614b2bfedcf281ceea0c73fc8111765845785267 100644 --- a/plugins/org.jkiss.dbeaver.ext.mssql/src/org/jkiss/dbeaver/ext/mssql/model/SQLServerMetaModel.java +++ b/plugins/org.jkiss.dbeaver.ext.mssql/src/org/jkiss/dbeaver/ext/mssql/model/SQLServerMetaModel.java @@ -22,6 +22,7 @@ import org.jkiss.dbeaver.DBException; import org.jkiss.dbeaver.Log; import org.jkiss.dbeaver.ext.generic.model.*; import org.jkiss.dbeaver.ext.generic.model.meta.GenericMetaModel; +import org.jkiss.dbeaver.ext.mssql.SQLServerConstants; import org.jkiss.dbeaver.model.DBPDataSourceContainer; import org.jkiss.dbeaver.model.DBPEvaluationContext; import org.jkiss.dbeaver.model.DBUtils; @@ -80,7 +81,7 @@ public class SQLServerMetaModel extends GenericMetaModel implements DBCQueryTran @Override public String getProcedureDDL(DBRProgressMonitor monitor, GenericProcedure sourceObject) throws DBException { - if (isSqlServer()) { + if (isSqlServer() && sourceObject.getDataSource().isServerVersionAtLeast(SQLServerConstants.SQL_SERVER_2005_VERSION_MAJOR,0)) { try (JDBCSession session = DBUtils.openMetaSession(monitor, sourceObject.getDataSource(), "Read routine definition")) { try (JDBCPreparedStatement dbStat = session.prepareStatement( "SELECT definition FROM " + DBUtils.getQuotedIdentifier(sourceObject.getCatalog()) + ".sys.sql_modules WHERE object_id=OBJECT_ID(?)" @@ -228,7 +229,7 @@ public class SQLServerMetaModel extends GenericMetaModel implements DBCQueryTran String sysSchema = DBUtils.getQuotedIdentifier(catalog) + "." + getSystemSchema(); String sql; if (showAllSchemas) { - if (getServerType() == ServerType.SQL_SERVER && dataSource.isServerVersionAtLeast(9 ,0)) { + if (getServerType() == ServerType.SQL_SERVER && dataSource.isServerVersionAtLeast(SQLServerConstants.SQL_SERVER_2005_VERSION_MAJOR ,0)) { sql = "SELECT name FROM " + DBUtils.getQuotedIdentifier(catalog) + ".sys.schemas"; } else { sql = "SELECT name FROM " + DBUtils.getQuotedIdentifier(catalog) + ".dbo.sysusers";