TransactionScope 多数据库连接,报“服务器 '.\\SQL2008' 上的 MSDTC 不可用。”错误。
TransactionScope多数据库连接,报“服务器'.\\SQL2008'上的MSDTC不可用。”错误。我的需求是:要连接多个数据库,我使用了Transaction...
TransactionScope 多数据库连接,报“服务器 '.\\SQL2008' 上的 MSDTC 不可用。”错误。我的需求是:要连接多个数据库,我使用了TransactionScope 事务回滚,因为要分别往不同数据库写数据。string someSql2005 = "server=.\\SQL2008;uid=sa;pwd=123456;database=BPMEF"; string anotherSql2005 = "server=.\\SQL2008;uid=sa;pwd=123456;database=RM_DB"; //创建TransactionScope using (TransactionScope tsCope = new TransactionScope()) { //连接数据库1 using (SqlConnection cn2005 = new SqlConnection(someSql2005)) { SqlCommand cmd = new SqlCommand("select * from Sys_Users", cn2005); cn2005.Open(); cmd.ExecuteNonQuery(); } //连接数据库2 using (SqlConnection cn2005 = new SqlConnection(anotherSql2005)) { SqlCommand cmd = new SqlCommand("select * from Base_UserInfo", cn2005); cn2005.Open(); cmd.ExecuteNonQuery(); } tsCope.Complete(); }
展开
1个回答
展开全部
Data Server=.\SQLEXPRESS;Initial Catalog=……
Data Server=服务器名\SQLEXPRESS;Initial Catalog=……
Data Server=localhost\SQLEXPRESS;Initial Catalog=……
Data Server=.;Initial Catalog=……
Data Server=服务器名;Initial Catalog=……
哪种正确,这跟数据库版本有关系,如果是SQL Server 2005 Express版本,则必须要有“\SQLEXPRESS”。而且如果这个字符串是定义为一个变量的时候,VS2005还会在“\”的下面加个红色的波浪 线提示你“\S是无法识别的转义序列”,因此如果字符串是定义为一个变量的时候应该写成Server=.\\SQLEXPRESS。
Data Server=服务器名\SQLEXPRESS;Initial Catalog=……
Data Server=localhost\SQLEXPRESS;Initial Catalog=……
Data Server=.;Initial Catalog=……
Data Server=服务器名;Initial Catalog=……
哪种正确,这跟数据库版本有关系,如果是SQL Server 2005 Express版本,则必须要有“\SQLEXPRESS”。而且如果这个字符串是定义为一个变量的时候,VS2005还会在“\”的下面加个红色的波浪 线提示你“\S是无法识别的转义序列”,因此如果字符串是定义为一个变量的时候应该写成Server=.\\SQLEXPRESS。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询