C# - 通过LAN

问题描述:

我有XAMPP托管在PC上用IP数据库远程连接到XAMPP-数据库:10.35.250.195C# - 通过LAN

我想从一台笔记本电脑访问该数据库在同一个局域网里的我的C# - 应用程序正在运行。 这是我的连接字符串:

"SERVER=10.35.250.195;DATABASE=testdb;USERID=root;PASSWORD=;" 

但我无法打开从远程PC /笔记本电脑的连接。

我可以通过上面的连接字符串从托管数据库的PC访问数据库。我也可以使用“10.35.250.195/phpmyadmin”从远程笔记本电脑访问浏览器中的phpmyadmin。所以连接从笔记本电脑到PC与数据库,但我无法打开在C#中的远程连接。

在phpmyadmin中,我允许用户“root”拥有所有权限访问主机10.35.250.195,我甚至允许每个用户都可以访问主机10.35.250.195,并拥有所有权限(我知道我不应该这样做,因为安全原因...)。

如何通过局域网从远程PC访问c#中的数据库?有人能帮我找到错误吗?

+0

见MySQL手册第5.4节。使用Windows凭据应允许远程连接,无需其他密码:https://downloads.mysql.com/docs/connector-net-en.pdf。另请参阅https://www.connectionstrings.com/mysql/。示例连接字符串:Server = myServerAddress; Database = myDataBase; IntegratedSecurity = yes; Uid = auth_windows; – jdweng

+0

问题不在于如何在Windows上的C#中打开连接。我可以用上面提到的连接字符串打开主机上的连接。问题是它不能从远程PC使用该字符串。 – Charbacca

+0

是的。除非远程PC和本地PC在同一组中,否则PC不允许远程PC连接。那么用户必须在两台PC上都有一个帐户。所以使用IntegratedSecurit y = yes;自动使用用户Windows登录(和组帐户),而不是使用用户名和密码。所以你必须设置一个组帐户,并将本地和PC添加到组中。然后将用户添加到该组。 – jdweng

也许你的数据库端口被防火墙阻止了吗?

MySQL有端口:3306

,你也可以尝试一个基于PC的工具来测试它像 https://www.heidisql.com/

FLOCKE

+0

根据主机PC上的“netstat”,端口3306处于“正在侦听”状态。 – Charbacca

+0

你应该检查你的客户,但@jdweng有一个好点。尝试连接像Heidi这样的数据库浏览器,在那里你可以测试你的设置,并确保不会有一些代码问题。 – Flocke