SqlConnection.open()抛出TransactionException 0xe0434f4d

时间:2010-01-22 00:22:06

标签: sqlconnection

连接到SQL Server 2005 dbase时,代码工作正常。但是当连接到sql server 2008 dbase时,它会失败。

情形: Webservice首先连接到2008 dbase。然后在COM +对象的调用期间,连接失败。

最近升级的项目使用VS2008并升级到Sql Server 2008.

using (TransactionScope transactionScope = new TransactionScope(TransactionScopeOption.Required, transactionTimeOut))
{     
   using (SqlConnection sqlConnection = new SqlConnection(DataConnection))
   {
      try
      {
 String command = "my_StoredProcedure";

 using (SqlCommand sqlCommand = new SqlCommand(command, sqlConnection))
 {
             sqlConnection.Open();  //- exception is throw right after this call in the COM+ object.

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

就我而言,部署到网络中许多PC的二进制文件除少数机器外都执行得很好。代码中的所有异常都得到了处理,但尽管如此,0xe0434f4d在启动后才被抛出。该应用程序总是在本地启动(而不是从网络共享),没有明显的权限问题等。该应用程序的.NET 3.5中有其要求。

我检查了已安装的.NET版本(众所周知的注册表子树HKLM\SOFTWARE\NET Framework Setup\NDP),发现子项v3.5\SP(ServicePack)不在1。这意味着安装了.NET 3.5,但不是最新的发布版本(SP1)。在downloading v3.5 SP1之后,安装并重新启动PC,整个问题就消失了。因此关键是" 不仅仅是任何.NET 3.5,而且最新的.NET 3.5必须存在"。