C# 远程连接到MySQL数据库,但将数据保存在本地MySQL数据库C中#

C# 远程连接到MySQL数据库,但将数据保存在本地MySQL数据库C中#,c#,mysql,winforms,C#,Mysql,Winforms,我的第一个问题,希望你们能帮忙 我有一个C#winforms“服务器”应用程序,它有一个本地MySQL数据库。 我还有一个“客户端”应用程序,我需要连接到远程MySQL服务器,我知道怎么做,我的问题是: 是否可以连接到从特定表读取某些信息的远程MySQL DB,然后如果该信息对于该特定客户机为真,则该客户机应将该信息复制或添加到其在本地主机上运行的本地MySQL DB上 所以基本上,连接到远程SQL server,读取数据,然后从客户端将数据复制到本地数据库 我希望这是有道理的,谢谢您的帮助或建

我的第一个问题,希望你们能帮忙

我有一个C#winforms“服务器”应用程序,它有一个本地MySQL数据库。 我还有一个“客户端”应用程序,我需要连接到远程MySQL服务器,我知道怎么做,我的问题是:

是否可以连接到从特定表读取某些信息的远程MySQL DB,然后如果该信息对于该特定客户机为真,则该客户机应将该信息复制或添加到其在本地主机上运行的本地MySQL DB上

所以基本上,连接到远程SQL server,读取数据,然后从客户端将数据复制到本地数据库


我希望这是有道理的,谢谢您的帮助或建议。

您已经在自己的问题中描述了答案。是的,这是可能的。读取数据后,请确保数据有效等。将其插入本地数据库表。

@Kevin如果您具有正确的连接凭据,则可以连接到任何联机数据库

如果更改连接字符串,则可以


此外,无论是联机还是脱机,您都可以有n个数据库连接。如果可能,只需使用不同的连接字符串:

服务器端:

string cs1 = @"server=xxx.xxx.xxx.xxx;uid=xxxxx;password=xxxxx;database=xxxx;port=3306;charset=utf8;Allow User Variables=True";
本地主机端:

string cs2 = @"server=localhost;uid=xxxxx;password=xxxx;database=xxxxxxxxx;port=3306;charset=utf8";

为什么需要本地服务器?@Damith可能用于脱机使用,与联机同步配对。我知道可能,但这纯粹是猜测。我想我知道了,谢谢你考虑yur答案和@Sylca的答案。我可能会从远程服务器字符串上的SELECT查询开始,然后在本地连接字符串上进行更新/插入,如果条件满足的话?我还想知道,如果在插入/更新本地数据库时出现连接问题,会发生什么情况?当连接再次可用时,它会重新启动还是会产生数据库问题?我想在本地数据库中存储1000行数据,这是最好的方法还是你们推荐的方法?@Kevin你必须处理这些情况。如果设计得不好,它将产生数据库问题。另外,我认为在本地数据库中存储大量数据是没有效率的。此外,还存在远程和本地数据库不同步的问题。我会一直使用远程数据库。