【问题标题】:Connect C# windows application to web based Sql server将 C# windows 应用程序连接到基于 Web 的 Sql 服务器
【发布时间】:2016-02-13 09:26:40
【问题描述】:

我已经开发了 c# windows 应用程序,该应用程序目前可以使用服务器 IP 地址与基于局域网的远程 sql 服务器一起正常工作。现在我想在网络上托管我的 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 ;Password= pass ;Trusted_Connection=true;"

附加细节:

.Net 框架 - 4.0

Sqlserver - 2008

告诉我我应该对连接字符串做什么样的改变?或者我还应该做什么更改或设置?

如果有人有解决方案,请告诉我。

谢谢

【问题讨论】:

  • 不需要指定newwork dll Network Library=DBMSSOCN
  • 尝试连接时是否出错?如果是这样,错误信息是什么?顺便说一句,如果您指定了用户名和密码,那么您没有使用受信任的连接或集成安全性,因此您也可以删除连接字符串的那部分。也可以预订这个网站ConnectionStrings.com - 它非常有用。
  • 通常此类问题是由防火墙设置和 SQL Server 配置引起的。

标签: c# sql-server-2008


【解决方案1】:

以下示例(密码和服务器已更改)从任意位置连接到位于 AWS 内 RDS 上的数据库,为您提供示例。如果超时,则完全有可能是端口被阻塞。因此,您需要确保可以从 Web 服务器访问数据库服务器,也可能从本地计算机访问数据库服务器。后者可以通过从 SQL Management Studio 访问远程数据库进行测试。

  <connectionStrings>
    <add name="MainEntities" connectionString="provider=System.Data.SqlClient;provider connection string=&quot;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&quot;" providerName="System.Data.EntityClient" />

我强烈反对向全世界开放数据库服务器,即使使用强密码也是如此。如果不出意外,只允许来自知名网关的连接,例如 VPN 服务器。这就是我们现在的工作方式;如果我们不在 VPN 中,我们将无法从本地计算机访问数据库。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-05
    • 2015-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-02
    相关资源
    最近更新 更多