【发布时间】:2022-01-31 18:25:37
【问题描述】:
我无法从 Flutter 的包 mysql1 远程连接到托管在 OVH 上的数据库并收到以下错误:
颤振:SocketException:主机查找失败:'saintlouqpweb.mysql.db' (操作系统错误:提供节点名或服务名,或未知,errno = 8)
我通常通过 phpMyAdmin 访问它,我需要填写三个字段:服务器、用户和密码。除了数据库名称(phpMyAdmin 的服务器字段是 mysql1 的主机字段)之外,我在 Flutter 上使用与 mysql1 完全相同的值。
我已经搜索了几个小时的解决方案,但我仍然在这个论坛和网络上找不到任何东西。一切总是被带回“本地主机”服务器或与我的完全不同的问题。
这是导致错误的代码:
Future<List<dynamic>> getData() async
{
try {
final conn = await MySqlConnection.connect(ConnectionSettings(
host: 'saintlouqpweb.mysql.db', // the exact server name entered on phpMyAdmin
user: 'myusername',
password: '*********',
db: 'mydatabasename',
));
var results = await conn.query(
'SELECT * FROM `mytable` WHERE ID=1;'
);
return results.toList();
} catch (e) {
print('$e');
}
}
如果有人能帮助我解决这个问题或以前遇到过同样的问题,我将不胜感激。
【问题讨论】:
-
saintlouqpweb.mysql.db看起来不是有效的主机名。 -
我也有同样的问题!您找到解决方案了吗?
-
@MarkRotteveel 这是我连接到 phpMyAdmin 时输入的主机名...
-
@MianalaLoharano 出于安全原因,OVH 似乎不可能远程访问他们的数据库...您是否尝试过下面 Brugere 的答案?
-
@ventatto 必须有一个解决方案,我们怎么不能连接到我们自己的数据库?