Nodejs连接SQL Server数据库插件tedious的使用

Nodejs连接SQL Server数据库插件tedious的使用
tedious 是一个用于 Node.js 的 SQL Server 客户端库。它支持 TDS(Tabular Data Stream)协议,这使得它能够与 SQL Server 进行通信。下面是如何使用 tedious 连接到 SQL Server 数据库并执行基本操作的示例。

1. 安装 tedious

首先,你需要在你的项目中安装 tedious。你可以使用 npm 来安装:

npm install tedious

2. 连接到 SQL Server

接下来,你可以创建一个连接到 SQL Server 的客户端,并执行查询。以下是一个简单的例子:

const { Connection, Request } = require("tedious");

// 创建一个配置对象
const config = {
    server: 'your_server.database.windows.net', // 例如:yourserver.database.windows.net
    authentication: {
        type: 'default',
        options: {
            userName: 'your_username', // 你的用户名
            password: 'your_password'  // 你的密码
        }
    },
    options: {
        database: 'your_database', // 你的数据库名称
        encrypt: true
    }
};

// 创建一个新的连接
const connection = new Connection(config);

// 当连接打开时触发
connection.on('connect', err => {
    if (err) {
        console.error(err.message);
    } else {
        console.log('Connected to SQL Server.');
        executeStatement();
    }
});

// 执行查询
function executeStatement() {
    const request = new Request(
        "SELECT * FROM your_table", // 你的查询语句
        (err, rowCount) => {
            if (err) {
                console.error(err.message);
            } else {
                console.log(`${rowCount} rows returned.`);
            }
            // 关闭连接
            connection.close();
        }
    );

    // 打印每行数据
    request.on('row', columns => {
        columns.forEach(column => {
            console.log(`${column.metadata.colName}: ${column.value}`);
        });
    });

    // 发送请求
    connection.execSql(request);
}

3. 执行查询和处理结果

上述代码中,我们定义了一个 executeStatement 函数来发送 SQL 查询。Request 对象允许你指定 SQL 语句以及回调函数来处理查询的结果或错误。request.on('row') 可以用来监听每一行数据,而 request.on('done') 可以用来监听查询完成后的事件。

4. 错误处理

确保在每个可能出错的地方添加错误处理逻辑,如在连接、请求和数据处理过程中。

5. 完成后关闭连接

记得在所有操作完成后关闭连接,以释放资源。

通过以上步骤,你应该可以使用 tedious 库来连接和操作 SQL Server 数据库了。


3 回复

Tedious,听起来就像是处理SQL Server时的心情……但别担心,我会尽量让它变得不那么“tedious”!

首先,你需要安装Tedious库。打开你的终端,输入npm install tedious。这就像给你的Node.js项目加了个魔法咒语,让你能和SQL Server愉快地聊天。

接下来,在你的Node.js文件中,引入Tedious:

const { Connection, Request } = require("tedious");

然后,创建一个连接对象,并配置它去找到你的SQL Server:

const config = {
  authentication: {
    options: {
      userName: "yourUsername",
      password: "yourPassword"
    },
    type: "default"
  },
  server: "yourServer.database.windows.net",
  options: {
    database: "yourDatabase",
    encrypt: true
  }
};

const connection = new Connection(config);

最后,连接到数据库并执行查询。你可以用connection.on('connect', err => {...})来监听连接状态,用new Request来创建请求,并用request.execute()来执行SQL命令。

祝你在Tedious的世界里玩得开心!


tedious 是一个用于 Node.js 环境下的 SQL Server 客户端库。下面将介绍如何使用 tedious 连接 SQL Server 数据库,并执行基本的 CRUD 操作。

1. 安装 tedious

首先,你需要在你的项目中安装 tedious 库。你可以通过 npm 来安装:

npm install tedious

2. 基本连接

接下来,你需要创建一个基本的连接配置,并使用这个配置来连接到 SQL Server 数据库:

const Connection = require('tedious').Connection;
const config = {
    server: 'your_server.database.windows.net', // 如果你的服务器是 Azure SQL 数据库,请确保包含端口号(如:1433)
    authentication: {
        type: 'default',
        options: {
            userName: 'your_username',
            password: 'your_password'
        }
    },
    options: {
        database: 'your_database_name',
        encrypt: true
    }
};

const connection = new Connection(config);

connection.on('connect', err => {
    if (err) {
        console.error(err.message);
    } else {
        console.log('Connected to SQL Server.');
        // 在这里可以执行 SQL 查询
    }
});

3. 执行 SQL 查询

连接成功后,你可以执行 SQL 查询。以下是一个简单的查询示例:

const Request = require('tedious').Request;
const TYPES = require('tedious').TYPES;

request = new Request("SELECT * FROM your_table", function(err, rowCount) {
    if (err) {
        console.error(err.message);
    } else {
        console.log(`${rowCount} rows returned.`);
    }
});

connection.execSql(request);

4. 插入数据

插入数据可以通过执行一个带有参数的 SQL 语句来完成:

const request = new Request(
    "INSERT INTO your_table (column1, column2) VALUES (@value1, @value2)",
    function(err) {
        if (err) {
            console.error(err.message);
        } else {
            console.log('Inserted data successfully.');
        }
    }
);

request.addParameter('value1', TYPES.NVarChar, 'some_value');
request.addParameter('value2', TYPES.Int, 42);

connection.execSql(request);

5. 更新和删除数据

更新和删除操作也类似于插入操作,主要区别在于使用的 SQL 语句不同:

// 更新
const updateRequest = new Request(
    "UPDATE your_table SET column1 = @newValue WHERE id = @id",
    function(err) {
        if (err) {
            console.error(err.message);
        } else {
            console.log('Updated data successfully.');
        }
    }
);

updateRequest.addParameter('newValue', TYPES.NVarChar, 'new_value');
updateRequest.addParameter('id', TYPES.Int, 1);

connection.execSql(updateRequest);

// 删除
const deleteRequest = new Request(
    "DELETE FROM your_table WHERE id = @id",
    function(err) {
        if (err) {
            console.error(err.message);
        } else {
            console.log('Deleted data successfully.');
        }
    }
);

deleteRequest.addParameter('id', TYPES.Int, 1);

connection.execSql(deleteRequest);

以上就是使用 tedious 库连接 SQL Server 并进行基本操作的方法。请根据实际需求调整代码中的配置信息。

tedious 是一个用于 Node.js 连接 SQL Server 的库。首先安装 tedious

npm install tedious

然后可以使用如下代码进行基本的连接和查询:

const { Connection, Request } = require("tedious");

// 配置连接
const config = {
  server: "your_server.database.windows.net",
  authentication: {
    type: "default",
    options: {
      userName: "your_username",
      password: "your_password"
    }
  },
  options: {
    database: "your_database",
    encrypt: true
  }
};

// 创建连接
const connection = new Connection(config);

connection.on("connect", err => {
  if (err) {
    console.log(err);
  } else {
    queryDatabase(connection);
  }
});

function queryDatabase(connection) {
  const request = new Request("SELECT * FROM your_table", (err) => {
    if (err) {
      console.log(err);
    } else {
      console.log("查询成功");
    }
    connection.close();
  });

  request.on("row", columns => {
    columns.forEach(column => {
      console.log(column.value);
    });
  });

  connection.execSql(request);
}

这段代码展示了如何建立到 SQL Server 的连接,并执行一个简单的查询。请根据实际情况修改服务器、用户名、密码等信息。

回到顶部