【问题标题】:Connection string to a live database asp.net C#连接字符串到实时数据库 asp.net C#
【发布时间】:2013-11-30 06:39:00
【问题描述】:

我已经使用 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");

但这不起作用,知道我应该使用什么代码连接到实时服务器吗? 任何帮助将不胜感激。

【问题讨论】:

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


    【解决方案1】:

    【讨论】:

    • 嗯,感谢您的评论,但如果我像这样布置它似乎不起作用SqlConnection cs = new SqlConnection(@"Data Source=173.254.28.113,3306;Network Library=DBMSSOCN;Initial Catalog=benoatsc_OMS; User ID=benoatsc_admin;Password=*******;");
    • 你是使用SqlConnection还是MySql.Data.MySqlClient.MySqlConnection作为你的连接类,你不是使用MYSQL作为远程数据库吗?
    • 我使用 MYSQL 作为远程数据库。
    • 如果你使用的是 MySql,你应该使用 MySql.Data.MySqlClient.MySqlConnection 类而不是 SqlConnection。就是这个问题,希望对你有用
    【解决方案2】:

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

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

    检查完所有这些后,连接字符串应更改为:

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

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

    编辑:从我看到你在 cmets 中所做的到其他答案,检查两次,你如何处理端口 -> 你在 ip 字符串中使用逗号,而我希望你应该避免使用它或使用冒号。

    【讨论】:

    • 嘿 jmodrak 感谢您的回复。我现在连接正常,它输入数据。 IP中的逗号是什么意思?
    • 您对 kh_s 答案的第一条评论包含此“数据源 = 173.254.28.113,3306”...我认为 , 有时可能会造成麻烦,尤其是当常识告诉我 @ 987654323@ 广泛用于分隔 ip 和端口。但我可能错了,而在我的应用程序和数据库之间的一切进展顺利之前,我通常会遭受重创。
    【解决方案3】:

    感谢一些很好的建议,一切正常。 工作代码供参考

    {
            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();
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-25
      • 1970-01-01
      • 2016-03-18
      相关资源
      最近更新 更多