无法从C#中选择全局临时表(## TempTable)

时间:2014-02-27 18:50:08

标签: c# sql .net wcf global-temp-tables

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

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

  1. 从数据适配器dll调用SP
  2. 数据适配器(WCF)服务在启动服务时加载此ada适配器dll
  3. 另一个WCF服务请求数据的DA服务以显示Web客户端中的数据
  4. DA服务作为NT AUTHORITY \ NetworkService
  5. 托管在Windows服务中
  6. winform和dll中使用的连接字符串是" conString ="数据源=。\;" +"初始目录= myDB;" +"集成安全性= SSPI;&#34 ;;" 我也尝试在连接字符串中传递Sa凭证,但行为仍然相同。
  7. 我想从dll做的事情可以从win表单中完成,而我无法从WCF服务使用的dll中完成。

1 个答案:

答案 0 :(得分:2)

在创建全局临时表的连接生效之前。任何其他连接都可以访问该全局临时表。一旦创建了gloabl临时表的连接关闭,这个全局临时表就会自动被删除,并且任何其他尝试使用它的连接都会出现一个异常,说明无效的对象名称。

MSDN