我想建立一个简单的应用程序,连接到远程MySQL服务器。然而,我不能让它工作。
import ballerina/io;
import ballerina/jdbc;
import ballerina/mysql;
endpoint jdbc:Client jiraDB {
host: "jdbc:mysql://DB-SERVER:3306/jira",
username: "jira",
password: "PWD",
poolOptions: { maximumPoolSize: 5 }
};
type Domain record {
string domain,
string jira,
};
function main(string... args) {
var ret = jiraDB->select("SELECT * FROM `domains`", ());
table domainTable;
match ret {
table tableReturned => domainTable = tableReturned;
error e => io:println("Select data from domains table failed: " + e.message);
}
while(domainTable.hasNext()) {
var domain = <Domain>domainTable.getNext();
match domain {
Domain d => io:println("Domain: " + d.domain);
error e => io:println("Error in get employee from table: "
+ e.message);
}
}
} MySQL的结构并不重要。我认为这与缺少/错误使用JDBC/MySQL库有关。
你有什么办法让它在Mac OS X上工作吗?
$ ballerina run hello.bal
error: ballerina/runtime:CallFailedException, message: call failed
at ..<stop>(hello.bal:5)
caused by error
at ballerina/jdbc:stop(endpoint.bal:66)我正在使用最新的Mac OS X和:
$ ballerina --version
Ballerina 0.980.1发布于 2018-08-24 12:07:39
首先,最新的芭蕾舞版本是0.981.0。如果你能使用最新的版本,那就太好了,因为它会包含最新的bug修复和改进。
在Ballerina中,有一个通用的jdbc客户端,可用于连接到任何具有jdbc驱动程序的数据库。此外,对于mysql和h2,有两个专门为这两个数据库实现的客户端。
当连接到mysql时,您可以使用通用jdbc客户端或特定于mysql的客户端。建议使用特定于mysql的客户端。
在您的代码片段中,我可以看到您正在使用jdbc客户端。正如上面提到的Anoukh,端点配置不正确。
以下是通用jdbc客户端端点的示例配置。
endpoint jdbc:Client testDB {
url: "jdbc:mysql://localhost:3306/testdb",
username: "user1",
password: "pass1",
poolOptions: { maximumPoolSize: 5 }
};下面是mysql客户端端点的示例配置。
endpoint mysql:Client testDB {
host: "localhost",
port: 3306,
name: "testDB",
username: "user1",
password: "pass1",
poolOptions: { maximumPoolSize: 5 }
};为了使用这两个客户机中的任何一个,您需要将mysql jdbc驱动程序复制到${BALLERINA_HOME}/bre/lib。
即使在更正您的配置并复制驱动程序后,如果您仍然面临此问题,请检查是否在您运行bal文件和共享的位置创建了名为ballerina inder.log的文件。另外,请分享您正在使用的mysql数据库和驱动程序版本。
发布于 2018-08-24 02:03:57
您是否已将MySQL JDBC驱动程序复制到BALLERINA_HOME/bre/lib文件夹?
您可以使用which ballerina命令找到芭蕾舞演员的家。
您可以从http://central.maven.org/maven2/mysql/mysql-connector-java/5.1.6/mysql-connector-java-5.1.6.jar下载mysql jdbc驱动程序
发布于 2018-08-24 09:53:22
问题可能出在jiraDB端点配置中。根据API docs,数据库的URL的配置将以url而不是host的形式给出。
https://stackoverflow.com/questions/51988037
复制相似问题