我有一个简单的 Ballerina 应用程序,我需要通过 JDBC 驱动程序与数据库对话。
我收到一个运行时错误:
error: Error in SQL connector configuration: Failed to get driver instance for jdbcUrl=xxxxx Caused by :No suitable driver
我的 Ballerina.toml 包含以下内容:
[package]
org = "myname"
name = "data_service"
version = "0.1.0"
distribution = "2201.4.0"
[build-options]
observabilityIncluded = true
[[platform.java11.dependency]]
path = "./interclient.jar"
我知道 interclient.jar 有效,因为我在 DBSchema 应用程序(数据库客户端)中使用它来连接到我的数据库(Embarcadero Interbase)。而且我能够真正看到表格,运行查询等
但是当尝试在我的 Ballerina 应用程序中使用相同的 jar ( interclient.jar ) 通过 JDBC 交谈时,我得到了上述错误。
不确定我是否没有正确使用它(在 Ballerina.toml 中)或者什么。
这是我的申请代码:
import ballerinax/java.jdbc;
import ballerina/sql;
import ballerina/io;
public type User record {|
int id?;
string name;
string username;
string email;
int? client_id;
|};
configurable string USER = ?;
configurable string PASSWORD = ?;
configurable string HOST = ?;
configurable int PORT = ?;
configurable string DATABASE = ?;
final jdbc:Client dbClient = check new (
url=HOST, user=USER, password=PASSWORD
);
isolated function getUser(int id) returns error? {
sql:ParameterizedQuery query = `select * from USERS where ID = 1`;
stream<User, sql:Error?> resultStream = dbClient->query(query);
// Iterating the returned table.
check from record{} student in resultStream
do {
// Can perform operations using the record 'student'.
io:println("Student name: ", student.name);
};
return;
}
应用程序编译正常,没有警告或错误。
感谢任何帮助,谢谢!