Asp.net 具有Windows身份验证的IIS上的SQL Server SMO
在IIS上启用windows身份验证并尝试运行某些数据库更新脚本时,我遇到一个奇怪的错误: 用于模拟的令牌无效-它无效 不能重复 我没有启用任何显式模拟Asp.net 具有Windows身份验证的IIS上的SQL Server SMO,asp.net,sql-server,iis,smo,windows-authentication,Asp.net,Sql Server,Iis,Smo,Windows Authentication,在IIS上启用windows身份验证并尝试运行某些数据库更新脚本时,我遇到一个奇怪的错误: 用于模拟的令牌无效-它无效 不能重复 我没有启用任何显式模拟 我已经把它缩小到与SMO有关的范围,因为当我改为普通的SqlClient并使用ExecuteNonQuery时,问题就消失了。不幸的是,这不是一个长期的解决方案,因为更新脚本必须能够包含标准SqlClientIIS工作进程无法识别的“GO”关键字。当您使用windows身份验证时,您正在隐式地对该用户进行模拟 如果您的SQL server位于不
我已经把它缩小到与SMO有关的范围,因为当我改为普通的
SqlClient
并使用ExecuteNonQuery
时,问题就消失了。不幸的是,这不是一个长期的解决方案,因为更新脚本必须能够包含标准SqlClient
IIS工作进程无法识别的“GO”关键字。当您使用windows身份验证时,您正在隐式地对该用户进行模拟
如果您的SQL server位于不同的主机上,这可能不够好。我认为模拟用户只能访问本地资源
SQL Server是否使用windows身份验证?在继续执行更多的SQL语句之前,您可以始终使用“GO”语句解析输入,并将其用作现在执行SQL语句的指标。。。这样,你就可以使用标准的SqliClient类…谢谢,我会考虑,虽然这是一个超临界的代码,我宁愿让它尽可能简单。我必须非常确定解析器正确地处理文本字符串。我相信我们会有类似于update help set value=“…GO…”的东西,其中…目前还没有,尽管理想情况下我们希望支持bot SQL Server和Windows身份验证。为此,仍然没有解释SMO和普通SQL客户端之间的区别,也没有告诉我下一步应该尝试什么?