未捕获的未捕获错误:不支持的操作:带有postgresql的dart中的套接字构造函数

时间:2016-01-05 05:51:37

标签: postgresql dart database-connection

我正在尝试将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

1 个答案:

答案 0 :(得分:2)

看起来您正试图在浏览器中运行此代码。 Postgresql无法在浏览器中运行。 Mongodb确实有一个HTTP API,允许直接从浏览器中运行的代码访问它。 通常,数据库访问由服务器上运行的服务处理,浏览器向此服务发送命令以存储和检索数据,服务将请求转发到数据库。或者,您可以使用Firebase等现成的服务器。