ASP.NET Web服务无法访问SQL Server数据库

时间:2014-08-27 15:42:47

标签: sql-server vb.net web-services

我在VS 2010中创建了一个Web服务项目。我可以让非SQL函数完美地工作。但我无法得到一个简单的Sql Server DB连接甚至打开。连接字符串适用于我创建的其他ASP.NET网站。我目前只是在我的开发盒上本地运行它。但其他ASP.NET网站使用相同的连接字符串在本地工作正常。我的代码如下。错误捕获的返回值也在下面。我有搜索谷歌,找不到任何帮助我解决这个问题。任何帮助都会得到很好的赞赏。谢谢!

System.Security.SecurityException:请求类型&System; System.Data.SqlClient.SqlClientPermission,System.Data,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'失败。在System.Security.SecuritySecurityEngine.Check(Object demand,StackCrawlMark& stackMark,Boolean isPermSet)的System.Security.PermissionSet.Demand()处于System.Data.SqlClient.SqlConnection的System.Data.Common.DbConnectionOptions.DemandPermission()处。 WebServiceTest.Service1上System.Data.SqlClient.SqlConnection.Open()的System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection,DbConnectionFactory connectionFactory)上的System.Data.SqlClient.SqlConnectionFactory.PermissionDemand(DbConnection outerConnection)中的PermissionDemand() .GetAccountName(String VID)失败的操作是:Demand失败的第一个权限的类型是:System.Data.SqlClient.SqlClientPermission失败的程序集的区域是:Intranet

 <WebMethod()> _
Public Function HelloWorld() As String
   Return "Hello World"
End Function

<WebMethod()> _
Public Function ThisIsATest() As String
    Return "This Is A Test"
End Function

<WebMethod()> _
Public Function GetAccountName(VID As String) As String
    Dim conn As New SqlConnection
    Dim myc As New SqlCommand
    Dim wk As String
    wk = ""

    conn.ConnectionString = "Data Source=xxxxxxxx;Initial Catalog=WORKT;Integrated Security=False;UID=readonly;PWD=readonly"
    Try
        conn.Open()
    Catch e As Exception
        wk = e.ToString
    End Try

    conn.Close()

    Return wk
End Function

1 个答案:

答案 0 :(得分:1)

对于搜索此问题的其他人来说,它最终成为权限问题,因为我的应用程序存储在网络共享上。这是帮助我解决它的网站。我不得不将共享映射驱动器添加到ASP可信文件夹。

http://msdn.microsoft.com/en-us/library/zdc263t0(v=vs.90).aspx