我正在尝试将dart与数据库连接(可选择如postgrelsql,mongodb)。我安装了postgresql并创建了db,table和goto pubspec.yaml然后添加了依赖postgresql并运行pub get。 然后我提到了库文件
import 'package:postgresql/postgresql.dart';
连接详情
var uri = 'postgres://postgres:root@localhost:5432/testdb';
connect(uri).then((conn) {
});
但我得到了以下错误,我无法理解。请帮帮我。
Stack Trace:
Uncaught Uncaught Error: Unsupported operation: Socket constructor
堆栈跟踪: 不支持的操作:套接字构造函数 at dart.wrapException(http://localhost:8080/dbconnection.dart.js:2531:15) at null.Socket_connect(http://localhost:8080/dbconnection.dart.js:11612:13) at dart.Socket_connect [as call $ 2](http://localhost:8080/dbconnection.dart.js:11614:14) at ConnectionImpl_connect_closure.dart.ConnectionImpl_connect_closure.call $ 0(http://localhost:8080/dbconnection.dart.js:13515:28) 在dart.Future_Future $ sync(http://localhost:8080/dbconnection.dart.js:4723:28) at dart.ConnectionImpl.static.ConnectionImpl_connect(http://localhost:8080/dbconnection.dart.js:13468:18) 在dart.connect(http://localhost:8080/dbconnection.dart.js:12861:14) 在dart.PostgrelSqlconn(http://localhost:8080/dbconnection.dart.js:12836:7) 在主(http://localhost:8080/dbconnection.dart.js:12825:15) at _wrapJsFunctionForAsync_closure.dart._wrapJsFunctionForAsync [as _captured_protected_1](http://localhost:8080/dbconnection.dart.js:2923:11)(http://localhost:8080/dbconnection.dart.js:2531)
答案 0 :(得分:2)
看起来您正试图在浏览器中运行此代码。 Postgresql无法在浏览器中运行。 Mongodb确实有一个HTTP API,允许直接从浏览器中运行的代码访问它。 通常,数据库访问由服务器上运行的服务处理,浏览器向此服务发送命令以存储和检索数据,服务将请求转发到数据库。或者,您可以使用Firebase等现成的服务器。