2

当我尝试从 win 表单应用程序中选择全局临时表时,我可以从任意数量的客户端读取该表,当我从 Windows 服务中托管的 WCF 服务中执行相同操作时,我收到错误消息,指出 对象名称无效'# #MyTempTable'。

同时我可以使用相同的代码从winform中选择表格,有人能解释一下可能的原因吗?

  1. 从数据适配器 dll 调用 SP
  2. 数据适配器 (WCF) 服务在服务启动时加载此 ada 适配器 dll
  3. 另一个 WCF 服务向 DA 服务请求数据以在 Web 客户端中显示数据
  4. DA 服务作为 NT AUTHORITY\NetworkService 托管在 Windows 服务中
  5. winform 和 dll 中使用的连接字符串是 "conString = "Data Source=.\;" + "Initial Catalog=myDB;" + "Integrated Security=SSPI;";" 我也尝试在连接字符串中传递 Sa 凭据,但行为仍然相同。

我试图从 dll 执行的操作可以从 win 表单完成,而我无法从 WCF 服务使用的 dll 执行。

4

1 回答 1

2

直到创建您的全局临时表的连接处于活动状态。任何其他连接都可以访问该全局临时表。一旦创建 gloabl 临时表的连接关闭,这个全局临时表就会自动删除,并且任何其他尝试使用它的连接都会收到一个异常,指出对象名称无效。

MSDN

于 2014-02-27T19:00:32.630 回答