从本地WCF连接到Azure SQL数据库

时间:2013-01-22 15:56:47

标签: sql azure connection-string azure-sql-database

我有一个WCF Web服务和本地数据实例在我的本地计算机上完美运行。我已经在azure上创建了一个数据库实例,以及如何将Web服务连接到它以确保它在我在Azure上托管Web服务之前工作。

我已经设置了一个连接字符串到我的本地数据库,它在一分钟工作,因此我假设我只需要将其更改为我的新azure连接字符串,但这不起作用。请参阅工作连接字符串VS非工作以及我如何在DAL中实现我的代码。

当前/本地连接字符串

<add name="VervePhaseOneConnectionString" connectionString="Data Source=SNICKERS\SQLEXPRESS;Initial Catalog=VervePhaseTwo;Integrated Security=True"
          providerName="System.Data.SqlClient" />

新的天蓝色连接无效的字符串

  <add name="VervePhaseOneConnectionString" connectionString="Server=tcp:server.database.windows.net,1433;Database=VerveDB;User ID=bradleya@server;Password={passwordString};Trusted_Connection=False;Encrypt=True;Connection Timeout=30;"
      providerName="System.Data.SqlClient" />

使用连接字符串的DAL代码

SqlConnection oConn = new SqlConnection();
            oConn.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["VervePhaseOneConnectionString"].ConnectionString;
            oConn.Open();
            SqlCommand cmd = new SqlCommand();
            cmd.Connection = oConn;
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.CommandText = "sp_addSessionPlay";

任何帮助将不胜感激。

感谢。

2 个答案:

答案 0 :(得分:0)

您的连接字符串对我来说是正确的。但是,要检查它,您可以登录Azure帐户并单击SQL数据库并查看连接字符串。它将为您提供所需的不同示例。

enter image description here

另外,我假设您已经检查了Azure中的防火墙设置?

祝你好运。

答案 1 :(得分:0)

您的计算机/网络的防火墙可能阻止到端口1433的出站连接。尝试在端口1433的计算机/网络防火墙设置中添加例外规则。