这是代码
import * as mysql from 'mysql';
async function connectAndQueryDatabase(): Promise<void> {
// Database connection configuration
const connection = mysql.createConnection({
host: '10.10.10.10',
database: 'DBNAME'
});
try {
await new Promise<void>((resolve, reject) => {
connection.connect((err) => {
if (err) {
reject(err);
return;
}
console.log('Connected to database');
resolve();
});
});
const queryResults = await new Promise<any>((resolve, reject) => {
connection.query('SELECT * FROM TABLE', (err, results, fields) => {
if (err) {
reject(err);
return;
}
resolve(results);
});
});
console.log('Query results:', queryResults);
} catch (error) {
console.error('Error:', error);
} finally {
await new Promise<void>((resolve, reject) => {
connection.end((err) => {
if (err) {
reject(err);
return;
}
console.log('Database connection closed');
resolve();
});
});
}}
// Call the function to connect and query the database
connectAndQueryDatabase();
这是我遇到的错误
errorno: 'ETIMEDOUT',
code: 'ETIMEDOUT',
syscall: 'connect',
fatal: true
我不确定我必须使用什么库来连接,因为我们只需提供 URL 即可使用 SQL 客户端进行连接。我们有 JDBC 驱动程序来创建与数据库的连接吗?
Ignite 与 MySQL 不兼容,因此它们的驱动程序无法工作。我建议您从文档开始。简而言之,您需要下载 Ignite 库并移植代码才能使用它。
我对 typescript 不太了解,但如果你可以使用 JDBC 或 ODBC 驱动程序,那也是一个选择,只要你不需要使用键值 API。