Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在安装了SQL Express 2012但保持为SQL Express 2005的情况下在C#中附加mdf文件?_C#_Sql_Sql Server_Sql Server 2005_Sql Server 2012 - Fatal编程技术网

如何在安装了SQL Express 2012但保持为SQL Express 2005的情况下在C#中附加mdf文件?

如何在安装了SQL Express 2012但保持为SQL Express 2005的情况下在C#中附加mdf文件?,c#,sql,sql-server,sql-server-2005,sql-server-2012,C#,Sql,Sql Server,Sql Server 2005,Sql Server 2012,我有一个使用SQL Server 2005 Express.mdf文件的Windows应用程序,我的许多客户机已经在他们的计算机上使用了该应用程序和SQL Server 2005 Express版本 现在我在我的开发机器上进行测试,但是使用SQL Server 2012 Express,我的问题是,当我的应用程序想要附加.mdf文件时,它会更改其版本,之后我的Windows应用程序将无法工作 可以在不增加版本的情况下附加.mdf文件?您可以更改数据库的兼容性级别 ALTER DATABASE &

我有一个使用SQL Server 2005 Express
.mdf
文件的Windows应用程序,我的许多客户机已经在他们的计算机上使用了该应用程序和SQL Server 2005 Express版本

现在我在我的开发机器上进行测试,但是使用SQL Server 2012 Express,我的问题是,当我的应用程序想要附加
.mdf
文件时,它会更改其版本,之后我的Windows应用程序将无法工作


可以在不增加版本的情况下附加
.mdf
文件?

您可以更改数据库的兼容性级别

ALTER DATABASE <dbNmae> SET COMPATIBILITY_LEVEL = 90 -- for SQL SERVER 2005 compatibility
ALTER数据库集兼容性\u LEVEL=90——用于SQL SERVER 2005兼容性

是,但兼容性级别在这里没有帮助-一旦
.mdf
被(内部)转换为2012版本,无论您具有哪个兼容性级别,您都无法将其重新连接回2005实例。不,您无法执行此操作。一旦您将
.mdf
文件附加到2012版本,它将自动升级(您无法阻止这种情况发生),一旦完成,它将不再与2005版本兼容(无法再附加到2005实例)