连接字符串到实时数据库asp.net C#

时间:2013-11-16 23:39:56

标签: c# mysql asp.net visual-studio-2012 database-connection

我已经使用MS SQL Server设置了一个小型测试数据库(本地),代码如下。

此处代码

SqlConnection cs = new SqlConnection(@"Data Source = .\SQLEXPRESS; Initial Catalog = OMS; Integrated Security = true");
        SqlDataAdapter da = new SqlDataAdapter ();
        da.InsertCommand = new SqlCommand("INSERT INTO Customer(FirstName,LastName) VALUES (@FirstName,@LastName)", cs);
        da.InsertCommand.Parameters.Add("@FirstName", SqlDbType.VarChar).Value = firstname.Text;
        da.InsertCommand.Parameters.Add("@LastName", SqlDbType.VarChar).Value = lastname.Text;

这很好用,现在我已经在实时服务器上设置了一个MYSQL数据库。我已经安装了Visual Studio所需的MYSQL连接器,并已连接到数据库。 我现在想知道的是如何改变我的连接字符串以将数据调整到实时数据库。我试图把我的主机IP放在例如:

SqlConnection cs = new SqlConnection(@"Data Source = 000.000.00.000; Initial Catalog = database name; Integrated Security = true");

然而,这不起作用,我想用什么代码连接到实时服务器? 任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:2)

答案 1 :(得分:1)

您的问题的答案主要与服务器和/或数据库的设置有关。 确保:

  • 打开服务器上的端口以进行远程通信。
  • 应用程序运行(作为服务)
  • 检查数据库配置:主要是端口方式,但您必须确保允许SQL登录
  • 在数据库中创建一个用户帐户,并将该帐户权限授予您的数据库实例和正确的表以及您希望他执行的操作,某些数据库也需要授予他远程登录权限

选中所有这些后,连接字符串应更改为:

"Data Source=123.456.789.012;Initial Catalog=testdb; password=password; user id=login;"

这对我来说很好,连接MSSQL2012远程服务器数据库,因为你混合MySQL和MSSQL,可能会出现一些其他MySQL特定的选项。

编辑:从我在评论中看到你做的其他答案,CHECK TWICE,你如何处理端口 - >你在ip字符串中使用逗号,但我希望你应该避免使用它或使用冒号。

答案 2 :(得分:0)

所有工作都归功于一些很好的建议。 工作代码供参考

{
        MySqlConnection cs = new MySqlConnection(@"Data Source = 000.000.00.000;username=*******;password=******; Initial Catalog = database; Integrated Security = true");
       MySqlDataAdapter da = new MySqlDataAdapter ();
        da.InsertCommand = new MySqlCommand("INSERT INTO Customer(FirstName,LastName) VALUES (@FirstName,@LastName)", cs);
        da.InsertCommand.Parameters.Add("@FirstName", MySqlDbType.VarChar).Value = firstname.Text;
        da.InsertCommand.Parameters.Add("@LastName", MySqlDbType.VarChar).Value = lastname.Text;

        cs.Open();
        da.InsertCommand.ExecuteNonQuery(); 
        cs.Close();
    }