TransactionScope事务问题
几个思路请参考:
1、检查一下Sql连接字符串,改为sql混合验证,用sql的用户来验证试试
2、在没有事务的情况下看能否访问成功
3、不知是否用wcf,如果是则可以配置事务协议,将OleTx协议配成WSAT协议。
如果没用wcf,请确认数据库服务器防火墙关闭,因为默认情况下事务从KTM提升时将采用OleTx协议,该协议不能穿越防火墙。
4、确认DTC的配置情况:
1、检查一下Sql连接字符串,改为sql混合验证,用sql的用户来验证试试
2、在没有事务的情况下看能否访问成功
3、不知是否用wcf,如果是则可以配置事务协议,将OleTx协议配成WSAT协议。
如果没用wcf,请确认数据库服务器防火墙关闭,因为默认情况下事务从KTM提升时将采用OleTx协议,该协议不能穿越防火墙。
4、确认DTC的配置情况:
配置 Microsoft 分布式事务处理协调器 (MSDTC) 以支持运行示例
-
在服务计算机上,配置 MSDTC 以允许传入网络事务。
- 从“开始”菜单中,依次定位到“控制面板”、“管理工具”和“组件服务”。
- 打开“计算机”文件夹。
- 右击“我的电脑”,并选择“属性”。
- 在“MSDTC”选项卡上,单击“安全配置”。
- 选中“网络 DTC 访问”和“允许入站”。
- 单击“确定”,然后单击“是”以重新启动 MSDTC 服务。
- 单击“确定”关闭对话框。
-
在服务计算机和客户端计算机上,配置 Windows 防火墙以便在例外应用程序列表中包括 Microsoft 分布式事务处理协调器 (MSDTC):
- 从“控制面板”上运行 Windows 防火墙应用程序。
- 从“例外”选项卡上,单击“添加程序”。
- 浏览到文件夹 C:\WINDOWS\System32。
- 选择 Msdtc.exe 并单击“打开”。
- 单击“确定”关闭“添加程序”对话框,然后再次单击“确定”关闭 Windows 防火墙小程序。
-
在客户端计算机上,配置 MSDTC 以允许传出网络事务:
- 从“开始”菜单中,依次定位到Control Panel、“管理工具”和“组件服务”。
- 右击“我的电脑”,并选择“属性”。
- 在“MSDTC”选项卡上,单击“安全配置”。
- 选中“网络 DTC 访问”和“允许出站”。
- 单击“确定”,然后单击“是”以重新启动 MSDTC 服务。
- 单击“确定”关闭对话框。
浙公网安备 33010602011771号