这个月的早些时候,微软的开发团队就曾在msdn的网站上发布了关于SQL Server数据库与公司旗下的开发工具连接出现问题的消息。本文将就微软SQL Server 2008CTP测试版和哪些应用软件之间会出现什么样的问题进行详细介绍。
简介
当你把某个应用软件连接到SQL Server 2008社区测试版时,如果符合以下任何一种情况,你就可能会遇到连接问题:
1) 该应用软件是基于Microsoft .NET Framework 2.0,并且运行在安装有.NET Framework 2.0 Service Pack 1 (SP1) (包括.NET Framework 2.0 SP1 CTP)的系统上。
2) 当你把Visual Studio 2005或Visual Studio 2008连接到某个SQL Server 2008数据库服务器时,连接的创建使用了Visual Studio的快速开发应用工具(RAD)。
在执行以下操作之前,最好知道相关的连接问题:
1) 升级终端用户操作系统为Windows Vista操作系统的SP1 Beta版,或者升级终端用户操作系统为Windows Server 2008 Release Candidate 0 (RC 0)。
2) 升级安装在终端系统上的.NET Framework 2.0为.NET Framework 2.0 SP1。
3) 升级后端数据库为SQL Server 2008 CTP测试版。
Visual Studio和SQL Server 2008 CTP之间的设计时(Design time)连接问题
如果你使用Visual Studio 2005或Visual Studio 2008来开发应用程序,你有可能无法连接到SQL Server 2008 CTP版的任何实例。这个问题对于Visual Basic和Visual C#的开发人员尤为严重,因为它会阻止你使用任何快速应用开发(RAD)特性。
这个连接问题主要是Visual Studio 中加载的SMO层和SQL Server 2008中提供的SMO支持不兼容引起的。微软将会发布Visual Studio 2005和Visual Studio 2008的更新补丁来解决这个问题。
如果应用软件使用System.Data.SqlClient命名空间将会与SQL Server 2008出现运行时连接问题
在安装了.NET Framework 2.0 SP1的操作系统中,使用System.Data.SqlClient命名空间来提供数据访问的的应用软件无法连接到某些版本的SQL Server 2008 CTP中。会不会出现这个问题取决于安装在客户端的.NET Framework的版本以及安装在服务器上的SQL Server 2008 CTP版本。如果你使用的是SQL Server 2008 CTP和.NET Framework 2.0 SP1这种不兼容的组合的话,应用软件和后端数据库是无法连接的。
System.Data.dll文件包含了System.Data.SqlClient命名空间,并被包含在在.NET Framework 2.0 SP1中。以下的产品都含有.NET Framework 2.0 SP1:Visual Studio 2008、Windows Vista with SP1 Beta和Windows Server 2008。这个问题将在SQL Server 2008的RTM版本中得到解决。
下面的表格显示的是,我们所使用System.Data.SqlClient命名空间的管理数据访问应用软件和特定SQL Server 2008版本之间是否能够成功建立连接:
操作系统
| SQL Server 2008
June CTP版
| SQL Server 2008
July CTP版
| QL Server 2008
November CTP版
| 注解
|
任何装有Visual Studio 2008 RTM版或.NET Framework 2.0 SP1 RTM版可再发行组件包的操作系统
| 无法连接
| 无法连接
| 可以连接
| 无应用
|
任何装有Visual Studio 2008 Beta 2版或.NET Framework 2.0 SP1 Beta 2版可再发行组件包的操作系统(System.Data.SqlClient,版本2.0. 50727.1378
| 无法连接
| 可以连接
| 无法连接
| 无应用
|
带SP1 Beta版的Windows Vista系统(System.Data.SqlClient,版本 2.0.50727.1427)
| 无法连接
| 无法连接
| 可以连接
| 无应用
|
Windows Server 2008 RC0版(System.Data.SqlClient,版本 2.0.50727.1427)
| 无法连接
| 无法连接
| 可以连接
| 无应用
|
任何装有Visual Studio 2005 RTM版或.NET Framework 2.0 RTM版的操作系统(ystem.Data.SqlClient,版本2.0.50727.42)
| 可以连接
| 可以连接
| 可以连接
| 来自.NET Framework 2.0 RTM的连接采用SQL Server 2005数据类型兼容性
|
任何装有Visual Studio 2005 SP1版的操作系统(System.Data.SqlClient,版本2.0.50727.832
| 可以连接
| 可以连接
| 可以连接
| 来自Visual Studio 2005 SP1的连接采用SQL Server 2005数据兼容性
|
可用特性
下面的表格显示的是不同的.NET Framework 2.0 SP1和SQL Server 2008版本组合所支持的SQL Server 2008可用特性:
组合
| SQL Server 2008 July CTP
| SQL Server 2008 November CTP
| 即将发布的SQL Server 2008 CTP和 RTM版
| 注解
|
任何装有Visual Studio 2008或.NET Framework 2.0 SP1 Beta 2可再发行组件包的操作系统(System.Data.dll,版本2.0.50727.1378)
| 表值参数、新数据和时间数据类型
| 无法连接
| 无法连接
| 在管理存储过程中无法应用SQL Server 2008 July CTP版的特性
|
任何装有Visual Studio 2008或.NET Framework 2.0 SP1可再发行组件包的操作系统(System.Data.dll,版本2.0.50727.14xx)
| 无法连接
| 表值参数、新数据和时间数据类型、大型用户定义类型、文件流
| 表值参数、新数据和时间数据类型、大型用户定义类型、文件流
| 在管理存储过程中无法应用SQL Server 2008 November CTP版的特性
|
带SP1 Beta版的Windows Vista系统(System.Data.SqlClient,版本2.0.50727.1427)
| 无法连接
| 表值参数、新数据和时间数据类型、大型用户定义类型1、文件流
| 表值参数、新数据和时间数据类型、大型用户定义类型、文件流
| 在管理存储过程中无法应用SQL Server 2008 November CTP版的特性
|
Windows Server 2008 RC0版(System.Data.SqlClient,版本 2.0.50727.1427)
| 无法连接
| 表值参数、新数据和时间数据类型、大型用户定义类型、文件流
| 表值参数、新数据和时间数据类型、大型用户定义类型、文件流
| 在管理存储过程中无法应用SQL Server 2008 November CTP版的特性
|
注意:Windows Vista RTM 包含了.NET Framework 2.0 RTM 。不过Windows Vista RTM不支持任何引入到.NET Framework 2.0 SP1中的SQL Server 2008新特性。