StrataFrame Forum

Advice required on SQL Server 2008

http://forum.strataframe.net/Topic18946.aspx

By Peter Denton - 9/2/2008

G'day

I've just loaded SQL Server 2008, upgrading my SQL Server 2005 instance, and tried to run one of my strataframe applications within the Visual Studio 2008 SP1 IDE. Unfortunately I can't access my database.

The following code:

Dim serverSchema As New MicroFour.StrataFrame.DBEngine.SQL.SQLServerSchema

Dim builder As System.Data.SqlClient.SqlConnectionStringBuilder

Dim lcConnection As String = ""

'-- Set the server

lcConnection = String.Format("Server={0};Integrated Security=SSPI;Persist Security Info=False;Initial Catalog={1}", _

"PGD-Vista", _

"TMS201")

builder = New System.Data.SqlClient.SqlConnectionStringBuilder(lcConnection)

serverSchema.Connect(builder.DataSource)

causes an exception wit the following details:

ConnectionFailureException
  This SQL Server version (10.0) is not supported.

Source     : Microsoft.SqlServer.ConnectionInfo

Stack Trace:
   at Microsoft.SqlServer.Management.Common.ConnectionManager.CheckServerVersion(ServerVersion version)
   at Microsoft.SqlServer.Management.Common.ConnectionManager.InternalConnect(WindowsIdentity impersonatedIdentity)
   at Microsoft.SqlServer.Management.Common.ConnectionManager.Connect()
   at MicroFour.StrataFrame.DBEngine.SQL.SQLServerSchema.Connect(String SQLServername, String UserName, String Password, Boolean CheckConnectionOnly)
   at TMSSerialTest.AppMain.fred() in C:\Users\peterd\VS2005 Workspace\TMS Redevelopment\TMS\TMSSerialTest\AppMain.vb:line 57
   at TMSSerialTest.AppMain.SetDataSources() in C:\Users\peterd\VS2005 Workspace\TMS Redevelopment\TMS\TMSSerialTest\AppMain.vb:line 146
   at MicroFour.StrataFrame.Application.StrataFrameApplication.Raise_SetDataSources()
   at MicroFour.StrataFrame.Application.StrataFrameApplication.RunApplication()
   at TMSSerialTest.AppMain.Main() in C:\Users\peterd\VS2005 Workspace\TMS Redevelopment\TMS\TMSSerialTest\AppMain.vb:line 25
   at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
   at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
   at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
   at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()

I've tried this with the project as it was targeted at .Net 2.0, and again targeted at .NET 3.5 with the same result.

I'm running the 1.6.6 Beta version of Strataframe

Is there a simple explanation (and hopefully solution)?

Thanks

Peter

By Edhy Rijo - 9/2/2008

Peter Denton (09/02/2008)
ConnectionFailureException
  This SQL Server version (10.0) is not supported.

Source     : Microsoft.SqlServer.ConnectionInfo

Is there a simple explanation (and hopefully solution)?

I don't know about a solution, but  AFAIK, SF have not announced support for SQL Server 2008 yet.

By Peter Denton - 9/2/2008

Thanks Edhy

I know it isn't supported yet by Strataframe, but I've seen another post that encouraged me to believe that it might just work.

We are getting close to releasing our new system, and would like it to be based on SQL Server 2008, hence my desire to get a headstart if I can.

Peter

By Edhy Rijo - 9/2/2008

Hi Peter,

Yes I understand, I also want to use MS-SQL2008 for my 1st SF application to be release in 2 weeks.  Let's see what SF Team will say about this.

By Peter Denton - 9/3/2008

G'day,

I know what the problem is and even have a solution. The problem is that StrataFrame 1.6.6 beta has references to
Microsoft.SqlServer.ConnectionInfo v 9.0.242.0,
Microsoft.SqlServer.Smo v 9.0.242.0,
Microsoft.SqlServer.SmoEnum  v 9.0.242.0, and
Microsoft.SqlServer.SqlEnum v 9.0.242.0

where to use SQL Server 2008 these need to be changed to
Microsoft.SqlServer.ConnectionInfo v 10.0.0.0,
Microsoft.SqlServer.Smo v 10.0.0.0,
Microsoft.SqlServer.Management.Sdk.Sfc  v 10.0.0.0, and
Microsoft.SqlServer.SqlEnum v 10.0.0.0

The solution (not for the fainthearted, only for the brave or foolhardy)

1. Open the "Microfour StrataFrame" solution from "C:\Program Files\MicroFour\StrataFrame Source Code" in visual studio.

2. Change the references above in Projects "MicroFour StrataFrame DBEngine" and "MicroFour StrataFrame UI"

3. Ignore the Warnings about the obsolete encryption method.

3a. I had a couple of problems with missing references but I think they are covered above now.

4. Rebuild the solution

5. You'll probably see that the installation of the "MicroFour StrataFrame UI" .dll failed due to a missing file, this can be rectified by copying and pasting the "AfterBuild.bat ..." line that failed and pasting it into a cmd window runas Administrator.

6. Close down and restart (possibly not necessary, but a good reboot never hurt anyone)

7. Start Visual Studio

7a. I'd managed to have the Strataframe add-in fail earlier, and as a result the strataframe menu didn't appear, but that was fixed through the Tools > Addin manager, enabling the Strataframe add-in, and restarting visual studio.

8. Open the project of interest and connect to the database on the SQL Server 2008 server.

9. Worked for me, but I've so far only gone as far as connecting and seeing that I could retrieve some data.

Hope this is useful

Peter the Foolhardy

By Dustin Taylor - 9/4/2008

Awesome sleuthing, Peter!

We can't move our production assemblies forward immediately (too big of a chance of it breaking something with existing non-sql 2008 setups), but this will be included when we move to officially support SQL 2008.