我开发了c#windows应用程序,它目前使用服务器IP地址与基于lan的远程sql server正常工作。现在我想在网络上托管我的Sql服务器。我已经在' myLittleAdmin for Sql Server'的帮助下在web上托管了我的数据库。但是我无法从基于Web的sql服务器访问数据。我的连接字符串如下 -
connectionString =" Data Source = servers ip address ; Network Library = DBMSSOCN; Initial Catalog = database_name ; Integrated Security = False; User Id = uid ;密码= 传递; Trusted_Connection = true;"
其他细节:
.Net Framework - 4.0
Sqlserver - 2008
告诉我在连接字符串中应该做哪些更改?或者我应该做些什么改变或设置?
如果有人有解决方案,请告诉我。
谢谢
答案 0 :(得分:0)
以下示例(密码和服务器已更改)从任何位置连接到位于AWS内RDS上的数据库,以举例说明。如果你超时,那么完全可能的是端口被阻塞了。因此,您需要确保可以从Web服务器访问数据库服务器,也可以从本地计算机访问数据库服务器。可以通过从SQL Management Studio访问远程数据库来测试后者。
<connectionStrings>
<add name="MainEntities" connectionString="provider=System.Data.SqlClient;provider connection string="data source=prod-xyz-db.cn56cbq5dgvl.eu-west-1.rds.amazonaws.com,1433;initial catalog=MAIN;integrated security=False;persist security info=True;user id=main_user;password=asdfsdaiwerier;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
即使使用强密码,我也强烈建议不要向全世界打开数据库服务器。如果不出意外,只允许来自知名网关的连接,例如VPN服务器。这就是我们现在的工作方式;如果我们不在VPN中,我们就无法从本地机器访问数据库。