如何使用 typescript 连接到 ignite apache 数据库?

问题描述 投票:0回答:1

这是代码

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 驱动程序来创建与数据库的连接吗?

typescript jdbc ignite apacheignite
1个回答
0
投票

Ignite 与 MySQL 不兼容,因此它们的驱动程序无法工作。我建议您从文档开始。简而言之,您需要下载 Ignite 库并移植代码才能使用它。

我对 typescript 不太了解,但如果你可以使用 JDBC 或 ODBC 驱动程序,那也是一个选择,只要你不需要使用键值 API。

© www.soinside.com 2019 - 2024. All rights reserved.