我正在尝试在 ASP.NET Web 项目中使用 SMO 来获取服务器数据库的列表。我使用的方法似乎在 Windows 7 机器上运行良好,但第二次将它安装在 XP 机器上时,我得到了 ConnectionFailureException。我用来建立连接的代码是:
ServerConnection connection = new ServerConnection(serverName);
Server serverConnection = new Server(connection);
string[] databases;
try
{
databases = new string[serverConnection.Databases.Count];
}
catch { databases = new string[0]; }
在 Windows 7 机器上,我得到一个长度为空的数组,不管有多少数据库,然后我将数据库名称添加到 foreach 循环中,但在 Windows XP 中,它在 try 块中失败,我得到:
ConnectionFailureException: Failed to connect to server localhost.
-> Login failed for user 'ComputerName\\ASPNET'.
我猜这是 ASPNET 用户的某种权限问题,但我似乎找不到任何解决问题的方法。在 IIS 中,我取消选择匿名访问并选择集成 Windows 身份验证,并设置
<authentication mode="Windows" />
在 web.config 中。
有人有任何建议/类似圣人的建议要分享吗?