Browse Source

Fix missing ProviderManifest passed to EDM generator.

Bypassing the auto-discovery of data sources by entering the data source information
in manually causes the provider manifest to not be set. This then causes EdmGen.exe
to fail since the provider manifest is missing from the Store schema definition language
(.ssdl) file.
pull/30/head
Matt Ward 14 years ago
parent
commit
c052ce5b9f
  1. 22
      src/AddIns/DisplayBindings/Data/ICSharpCode.Data.SQLServer/SQLServerDatabaseDriver.cs

22
src/AddIns/DisplayBindings/Data/ICSharpCode.Data.SQLServer/SQLServerDatabaseDriver.cs

@ -162,11 +162,7 @@ namespace ICSharpCode.Data.Core.DatabaseDrivers.SQLServer @@ -162,11 +162,7 @@ namespace ICSharpCode.Data.Core.DatabaseDrivers.SQLServer
SQLServerDatasource datasource = new SQLServerDatasource(this) { Name = serverName };
string manifestToken;
if (!IsVersionSupported(version, out manifestToken))
throw new NotSupportedException(string.Format("Version '{0}' is not supported!", version == null ? "unknown" : version.ToString()));
datasource.ProviderManifestToken = manifestToken;
datasource.ProviderManifestToken = GetManifestToken(version);
if (!String.IsNullOrEmpty(instanceName))
datasource.Name += "\\" + instanceName;
@ -176,7 +172,15 @@ namespace ICSharpCode.Data.Core.DatabaseDrivers.SQLServer @@ -176,7 +172,15 @@ namespace ICSharpCode.Data.Core.DatabaseDrivers.SQLServer
Datasources = datasources;
}
string GetManifestToken(Version version)
{
string manifestToken;
if (!IsVersionSupported(version, out manifestToken))
throw new NotSupportedException(string.Format("Version '{0}' is not supported!", version == null ? "unknown" : version.ToString()));
return manifestToken;
}
bool IsVersionSupported(Version version, out string manifestToken)
{
manifestToken = "";
@ -233,10 +237,8 @@ namespace ICSharpCode.Data.Core.DatabaseDrivers.SQLServer @@ -233,10 +237,8 @@ namespace ICSharpCode.Data.Core.DatabaseDrivers.SQLServer
throw ex;
}
Version version = new Version(sqlConnection.ServerVersion);
string manifestToken;
if (!IsVersionSupported(version, out manifestToken))
throw new NotSupportedException(string.Format("Version '{0}' is not supported!", version == null ? "unknown" : version.ToString()));
Version version = new Version(sqlConnection.ServerVersion);
datasource.ProviderManifestToken = GetManifestToken(version);
string sql = string.Empty;

Loading…
Cancel
Save