我已经创建了一个web部件,它在我开发它的虚拟机上工作得非常棒。Sharepoint Webpart
但是,当我尝试在物理机器上运行相同的Web部件时,无法打开SQL连接,因为网络上的SQL Server是“分离”框。
我的物理,虚拟和SQL框在同一网络上,但出于某种原因,这并不在我的物理机工作,
它拿出以下消息:登录失败,用户NT AUTHORITY \ ANONYMOUS LOGON'
是什么导致了这个问题?
我已经创建了一个web部件,它在我开发它的虚拟机上工作得非常棒。Sharepoint Webpart
但是,当我尝试在物理机器上运行相同的Web部件时,无法打开SQL连接,因为网络上的SQL Server是“分离”框。
我的物理,虚拟和SQL框在同一网络上,但出于某种原因,这并不在我的物理机工作,
它拿出以下消息:登录失败,用户NT AUTHORITY \ ANONYMOUS LOGON'
是什么导致了这个问题?
您指定User Id
和Password
,然后设置Trusted_Connection
到True
,所以我想这集成的身份验证使用 - 去除Trusted_Connection=True
部分。
您正在使用集成安全性,这意味着当前用户用于对数据库服务进行身份验证。在生产服务器上,使用匿名用户执行Web部件代码。并且(当然)这个用户没有权利访问其他Web服务器文件的任何资源。
要避免此行为,请使用SQL-Server安全性的专用帐户。看到这个例子连接字符串:
connectionString="Data Source=SERVERHOSTNAME;Initial Catalog=YOURDATABASE;Persist Security Info=True;User ID=YOURUSER;Password=YOURPASSWORD";
一定要得到从生产数据库管理员有效的登录与适当的权限(如db_reader)数据库。
如果您的物理机上安装了sql,请尝试连接到位于虚拟机上的数据库。 – 2011-01-27 10:36:12
con.ConnectionString =“Server =”+ _ipAddress +“; Database =”+ _Database +“; Persist Security Info = True; User Id = username; Password = password; Trusted_Connection = True”; – 2011-01-27 11:10:17