简体   繁体   English

使用Azure上托管的Web应用程序访问本地SQL数据库

[英]Accessing on-premises SQL database with web application hosted on Azure

I am trying to access the SQL database that exist in the company premises from the service hosted in Azure. 我正在尝试从Azure托管的服务访问公司场所中存在的SQL数据库。 This is what I have tried: 这是我尝试过的:

  1. Created MS SQL database on local server 在本地服务器上创建MS SQL数据库
  2. Created the sample web application (Windows Azure Cloud Service) 创建了示例Web应用程序(Windows Azure Cloud Service)
  3. Modify the web.config file to have the correct SQL connection string 修改web.config文件以具有正确的SQL连接字符串
  4. Activate the web role using Activation token from Azure Management portal 使用Azure管理门户中的激活令牌激活Web角色
  5. Install the Local endpoint on the local server 在本地服务器上安装本地端点
  6. Publish web application to Azure 将Web应用程序发布到Azure
  7. Create endpoint group using web role and the ocal endpoint 使用Web角色和ocal端点创建端点组
  8. Launch the application 启动应用程序
  9. Tried to fetch the records from database. 试图从数据库中获取记录。

Getting the below error while trying to fetch the records from database using Azure: 尝试使用Azure从数据库中获取记录时出现以下错误:

System.Data.SqlClient.SqlException (0x80131904): A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)
   at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
   at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning()
   at System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity)
   at System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, TimeoutTimer timeout, SqlConnection owningObject)
   at System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, TimeoutTimer timeout)
   at System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, TimeoutTimer timeout, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance)
   at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance)
   at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection)
   at System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options)
   at System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject)
   at System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject)
   at System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject)
   at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
   at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
   at System.Data.SqlClient.SqlConnection.Open()
   at WebRole1._Default.btnGetEmployee_Click(Object sender, EventArgs e)

Please help. 请帮忙。

Trusted_Connection must be false. Trusted_Connection必须为false。 You cannot do Windows Authentication from Azure. 您不能从Azure执行Windows身份验证。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM