2017-08-23 127 views
0

在我的代码中,两个表已连接并且在本地Host中正常工作。但是,当我连接相同的代码时,代码不是加工。服务器主体“”无法在当前安全上下文中访问数据库

连接字符串:

string constr = ConfigurationManager.ConnectionStrings["strconstr"].ConnectionString; 

string constr = ConfigurationManager.ConnectionStrings["constrHOS"].ConnectionString; 


private void BindContactPerson(string hdnHospitalContactPersonID) 
    { 
     BD_Hospital iHospital = new BD_Hospital(); 
     string constr = ConfigurationManager.ConnectionStrings["constrHOS"].ConnectionString; 
     using (SqlConnection con = new SqlConnection(constr)) 
     { 
      using (SqlCommand cmd = new SqlCommand("SELECT D.DepartmentName,DS.DesignationName,hc.ContactPersonName,hc.ContactPersonAddress,hc.Mobile,hc.Phone,hc.AadhaarCardNo FROM HospitalContactPersonDeatils hc LEFT JOIN VAN_SETTING.[dbo].[Department] D ON D.DepartmentID =hc.DepartmentID LEFT JOIN VAN_SETTING.[dbo].[Designation] DS ON DS.DesignationID =hc.DesignationID where HospitalID='" + hdnHospitalContactPersonID + "' ", con)) 
      { 
       using (SqlDataAdapter sda = new SqlDataAdapter(cmd)) 
       { 
        DataTable dt = new DataTable(); 
        sda.Fill(dt); 
        gvCustomers.DataSource = dt; 
        gvCustomers.DataBind(); 
       } 
      } 
     } 
    } 

误差图像:

**ERROR IMAGE**

回答

0

通常其一个端口问题可能由防火墙阻止,所以检查我们使用telnet命令从应用服务器到数据库服务器如下:

在windows命令中输入:

telnet database_ip_address_or_host_name port 

实例为SQL Server的情况下:

telnet 192.168.1.1 1433 

因此,要解决你的问题:在数据库服务器

    1. 打开数据库端口确保没有防火墙阻止了你在应用服务器上连接数据库的应用程序

    how to open port in windows

  • +0

    如何连接两个数据库,并使用的SqlConnection CON C# –

    0

    听起来像应用程序池服务帐户和SQL登录名之间的映射有问题,或者可能是SQL登录名和SQL用户帐户之间的映射问题。

    解决此问题的最简单方法是登录为运行您的网站应用程序池的服务帐户身份。登录后,尝试打开SQL Server管理控制台并尝试使用集成身份验证访问数据库。无论您看到哪种错误,您的网站都会遇到同样的错误。

    更多信息可在this question找到。

    如果您不知道应用程序池服务帐户是什么,try this article

    Click here if you don't know the difference between a SQL login and a SQL user

    +0

    绑定记录爵士 如何连接两个数据库,并使用的SqlConnection CON C# –

    +0

    连接字符串名称** **构造,** ** constr1如果 –

    +0

    两个数据库绑定记录在同一个SQL Server实例上,您只需要一个连接字符串。只要确保你的用户有正确的权限。 –

    相关问题