问题 在线连接到服务器Mariadb

n3wkid

成员
已加入
2014年9月14日
留言内容
7
编程经验
3-5
亲爱的师父,

我想问一下如何使用接口C#在线连接(代码)到服务器mariadb。假设这里是使用互联网的连接。 c#作为FE和BE的接口是Server MariaDB。谢谢你的建议。
 

金西尼

C#论坛主持人
工作人员
已加入
2011年4月23日
留言内容
3,566
地点
悉尼,澳大利亚
编程经验
10+
显然,建议您使用MySQL的Connector / Net连接到MariaDB。我从来没有那么多地使用过MariaDB甚至MySQL,但是看起来您为连接字符串使用了相同的格式。
 

n3wkid

成员
已加入
2014年9月14日
留言内容
7
编程经验
3-5
感谢您的快速回复。

我两个月前就已经在笔记本电脑上安装了MySql Connector,通常我已经测试过使用C#作为接口成功连接到localhost mysql,并且未发现任何错误。
有条件的:附加的参考文献"MySQL.data"在Visual Studio 2012上。服务器仍然仅是本地主机(不需要Internet线路或不需要LAN IP)

现在,在另一种情况下,我有一台服务器,并且在LAN上安装了mariadb服务器(centOS 7),并且为该服务器分配了IP,当然也为客户端分配了IP。
同时,从客户端到服务器的Ping很好。
因此,当我使用旧代码以前在localhost上进行测试时,我发现了警告消息,"无法连接到任何指定的mysql主机"
将c#连接为mariaDB服务器LAN的接口的任何想法
 

n3wkid

成员
已加入
2014年9月14日
留言内容
7
编程经验
3-5
亲爱的师父,

我使用的连接字符串是

字符串conn ="服务器= 192.168.56.102;协议= 3306; UID =根; PWD = 1234;数据库= mydb";

MySql.Data.MySqlClient.MySqlConnection cn =新的MySql.Data.MySqlClient.MySqlConnection();
cn.ConnectionString = conn;



但是使用上面的代码,我无法连接到服务器CentOS 7"MariaDB Server"。消息错误无法连接到任何MySQL。在我禁用每台计算机上的防火墙之后,错误消息是"为用户验证....."

笔记 :
-我已禁用客户端和服务器上的所有防火墙以查看"connect or not"
-我使用php的代码作为Web应用程序界面,建立了连接并成功。
-VS 2012 C#,使用mysql-connector net 6.8.3的连接器
-连接仅使用局域网(点对点)
-


请帮我。
 

约翰·H

C#论坛主持人
工作人员
已加入
2011年4月23日
留言内容
1,076
地点
挪威
编程经验
10+
string conn = "服务器= 192.168.56.102;协议= 3306; UID =根; PWD = 1234;数据库= mydb";
你为什么要改变"port" to "protocol"?
 

金西尼

C#论坛主持人
工作人员
已加入
2011年4月23日
留言内容
3,566
地点
悉尼,澳大利亚
编程经验
10+
抱歉,先生,我修改了,这只是错误的类型...

无论如何,我已经更改为,仍然无法更改(无法连接)...

您为什么现在将等号(=)更改为冒号 :) )?向我们显示您正在使用的确切代码,并告诉我们发生了什么。如果您尝试连接时抛出异常,请向我们提供确切的错误消息。不要含糊,因为我们只知道您告诉我们什么,因此您必须告诉我们所有相关且精确的信息。
 

n3wkid

成员
已加入
2014年9月14日
留言内容
7
编程经验
3-5
亲爱的师父,

在这里,我显示了用于连接服务器CentOS 7的代码。仅限VS 2012 C#前端接口

using System;using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using MySql.Data;
using MySql.Data.MySqlClient;

namespace Test
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }


        private void button1_Click(object sender, EventArgs e)
        {
            
            
             //String connectingstring = "Server=127.0.0.1;Port=3306;UID=root;PWD=123;Database=test";
            //-> code previously above for using connect to localhost(PC of standalone) and there nothing problem , then connection was success full..
             
            String connectingstring = "Server=192.168.0.2;Port=3306;UID=root;PWD=123;Database=test"; 
           //--> this is I used to connect to Server MariaDB(CentOS) via LAN and could not to be connected.


            MySqlConnection conn = new MySqlConnection(connectingstring);
            try
            {
                conn.Open();
                MessageBox.Show("Connected successfull");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
    }
}



笔记:
-我已经升级到mysql-connector net-6.9.3。
-VS 2012 C#

请给我建议。谢谢
 
由主持人最后编辑:

n3wkid

成员
已加入
2014年9月14日
留言内容
7
编程经验
3-5
亲爱的师父,

解决了..问题来自服务器mariadb配置。从一开始我就可以想象这个问题来自我在CentOS上的配置服务器mariadb。
服务器上的错误配置(例如防火墙配置)不正确,mariadb服务器上的特权无法建立连接。
所以我认为关闭了该线程。
无论如何,非常感谢先生。 约翰·H,先生 金西尼表示他们的回应。

非常感谢。
 
最佳 底部