Nodejs 连接sql Server数据库 如何连接?

Nodejs 连接sql Server数据库 如何连接?

新手学习Nodejs 想问问怎么连接SqlServer 数据库呢? 谢谢啦

6 回复

当然可以!以下是如何使用 Node.js 连接到 SQL Server 数据库的详细步骤和示例代码。我们将使用 mssql 库来实现这一目标。

步骤 1: 安装必要的库

首先,你需要安装 mssql 库。你可以通过 npm(Node.js 包管理器)来安装它:

npm install mssql

步骤 2: 创建连接字符串

SQL Server 需要一个连接字符串来建立与数据库的连接。连接字符串通常包含服务器名称、数据库名称、认证方式等信息。以下是一个示例连接字符串:

const config = {
    user: 'yourUsername',
    password: 'yourPassword',
    server: 'yourServerName', // 如果是本地SQL Server实例, 可能是localhost或127.0.0.1
    database: 'yourDatabaseName',
    options: {
        encrypt: true, // 使用加密连接
        trustServerCertificate: false // 不信任自签名证书
    }
};

步骤 3: 编写连接代码

接下来,我们将使用上述配置来连接到 SQL Server 并执行查询。以下是一个简单的示例:

const sql = require('mssql');

// 创建连接池
async function connectToDatabase() {
    try {
        const pool = await new sql.ConnectionPool(config).connect();
        console.log('Connected to SQL Server!');
        
        // 执行查询
        const result = await pool.request().query('SELECT * FROM yourTableName');
        console.log(result.recordset); // 输出查询结果
        
        // 关闭连接
        await pool.close();
    } catch (err) {
        console.error('Error occurred while connecting to SQL Server:', err);
    }
}

// 调用函数
connectToDatabase();

解释

  • config 对象:定义了连接到 SQL Server 所需的各种参数。
  • ConnectionPool:创建一个连接池对象,用于管理多个到 SQL Server 的连接。
  • connect() 方法:尝试建立与 SQL Server 的连接。
  • request().query() 方法:发送 SQL 查询到数据库并获取结果。
  • 错误处理:使用 try...catch 结构来捕获并处理可能发生的任何错误。

这样,你就能够使用 Node.js 连接到 SQL Server 数据库并执行基本的查询操作了。希望这对你有所帮助!


就我使用过的,目前就一个TDS模块和tedious模块

我用的是msnodesql 但是总是提醒我 没有找到··

总是提醒我没有找到某个模块 问是否已经 node-gyp configure 和 node-gyp build 我已经运行了的 而且电脑上也装了 vs真不知道怎么解决了

要在 Node.js 中连接 SQL Server 数据库,你可以使用 msnodesqlv8tedious 等驱动程序。这里我将使用 tedious 驱动程序来演示如何进行连接,并执行简单的查询。

示例代码

首先,你需要安装 tediousexpress(如果你打算做一个简单的 HTTP 服务器):

npm install tedious express

接下来是实际的连接代码:

const express = require('express');
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("Connection successful!");
        executeStatement();
    }
});

// 执行一个简单的查询
function executeStatement() {
    request = new Request(
        "SELECT * FROM your_table", // SQL 查询
        (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.value);
        });
    });

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

// 创建并启动一个简单的 HTTP 服务器
const app = express();

app.get('/', (req, res) => {
    res.send("Hello from the server");
});

app.listen(3000, () => {
    console.log("Server is running on port 3000");
});

解释

  1. 引入模块:我们引入了 express 用于创建 Web 服务,tedious 用于连接 SQL Server。
  2. 配置连接:定义了一个配置对象 config,其中包含了服务器地址、认证信息以及需要使用的数据库。
  3. 建立连接:通过 new Connection(config) 创建连接实例,并监听 'connect' 事件来确认连接是否成功。
  4. 执行查询:当连接成功后,我们定义了 executeStatement() 函数来执行 SQL 查询。这里我们选择了从某个表中选择所有数据。
  5. 处理结果:通过监听 'row' 事件来获取每一行的数据,并打印出来。
  6. 启动服务器:最后,我们创建了一个简单的 Express 应用来监听 HTTP 请求。

这样,你就有了一个基本的 Node.js 应用程序,可以连接到 SQL Server 并运行 SQL 查询。

回到顶部