1

我正在尝试从 Wakanda 11 连接到 MAMP MySQL 数据库。

我尝试使用连接到本地主机数据库,Connect to Remote Datastore但我不断收到Connection failed响应。我也尝试过使用127.0.0.1:8081它连接的端口,但在尝试使用port:3306我在 MAMP 服务器上配置 MySQL 数据库的地方时却没有。我究竟做错了什么?

我试过下面的脚本......

model.addSQLCatalog("mysqldb", {
  hostname: '127.0.0.1', 
  port: 3306,
  user: 'root',
  password: 'xxxxxxxx',
  database: 'my_database_name',
  ssl: false,
  dbType: 'mysql'
});

...但这给了我以下错误:

TypeError:JSON.stringify 无法序列化循环结构。

如何修复并使其在端口:3306 上工作,以便我可以看到我的数据库结构?

4

2 回答 2

1

如果您使用的是 Wakanda Enterprise Edition 11 或更高版本,则可以使用MySQL Connector Pro

这是与此连接的示例:

model.mergeSQLCatalog(localName, {
    hostname: string 'host name',
    port: number remote_port_number,
    user: string 'userName', 
    password: string 'password',
    database: string 'SQL database name',
    jsFile: string 'configuration JavaScript file',
    ssl: boolean true or false,
    dbType: string 'mysql' } )

如果您使用的是 Wakanda Enterprise Edition 的旧版本,但仍在使用版本 7 或更高版本,则有一个Wakanda/MySQL 连接器

以下是使用连接器连接 MySQL 的示例:

var sql = require('waf-sql');
    //use port 3306 and do not use SSL
var dbconn = sql.connect('mysql','192.168.0.21', 'john', 'x54?hsf5x!','arts',3306,false); 
var rs = dbconn.update("people", {
    name: "smith",
    age: 42
    }, {
        id: 1
    });
var rs = dbconn.select("*", "people", {
        id: 1
    });
var row = rs.getNextRow(); // get the first row
dbcon.close(); // close connection

以下是可用参数的示例:

var params = {
    hostname: [your host name or IP address],
    user: [the user name of your DB],
    password: [the user password],
    database: [the DB name],
    port: [the port number of the MySQL Server, by default 3306],
    ssl: false,
    dbType : 'mysql'
};
于 2016-06-30T17:12:12.307 回答
0

如果我是正确的,你的问题已经解决了吗?它适用于 Windows 和 Mac 吗?

要恢复,要使用 ProCONnector,您需要:

  • Wakanda 企业版
  • 对于当前 v11 版本的 Wakanda,您需要在model.js文件中使用addSQLCatalog()API。
  • 接受的参数在文档中描述

请注意,在 Wakanda 的下一个版本中,我们将提供给 wizzard 以连接到其他数据库,而不是addSQLCatalog(). 这将有助于并简化该过程。

于 2016-07-05T12:52:05.263 回答