📜  如何在浏览器中从 JavaScript 连接 SQL Server 数据库?

📅  最后修改于: 2022-05-13 01:56:19.773000             🧑  作者: Mango

如何在浏览器中从 JavaScript 连接 SQL Server 数据库?

从 JavaScript 客户端连接到 SQL Server 数据库没有通用的方法,每个浏览器都有自己的 API 和包来连接到 SQL Server。例如,在 Windows 操作系统中,Internet Explorer 有一个名为ActiveXObject的类名,用于创建 OLE 自动化对象的实例,这些对象帮助我们创建 SQL Driver 连接的环境。
出于多种原因,不建议使用 JavaScript 客户端访问数据库。例如,这不是一个好的做法,存在一些安全问题并且它提供了漏洞问题。
Node.js 为我们提供了一个在浏览器之外运行 JavaScript 代码的环境,它还提供了有用的好处,例如安全性、可扩展性、健壮性等等。
SQL Server: Microsoft SQL Server 是微软开发的关系型数据库管理系统。作为数据库服务器,它是一种软件产品,主要函数是根据其他软件应用程序的请求存储和检索数据——这些应用程序可以在同一台计算机上运行,也可以在网络上的另一台计算机上运行。
Node.Js: Node.js 是一个开源、跨平台的 JavaScript 运行时环境,可在 Web 浏览器之外执行 JavaScript 代码。

在这里,我们表示在 Node.js 环境中使用 JavaScript 连接 MS SQL Server 数据库。首先,我们需要安装某些包,并且必须在本地系统中安装MS SQL Server Node.js。

强烈建议使用任何命令行工具 (CLI),如终端、cmd 来运行以下查询和命令。

在开始之前 MS SQL Server 应该安装在本地系统中。

  • 点击列出的命令以连接 SQL Server。
sqlcmd -S localhost -U SA -P ""
  • 发出列出的查询以创建名为“geek”的数据库名称。
> CREATE DATABASE geek;
> GO
  • 使用创建的数据问题列出的查询。
> Use ;
> GO
  • 发出列出的查询以创建一个名为“student”的表名,其中包含三个字段 id、firstname 和 lastname。
> CREATE TABLE student (id INT, 
    firstname NVARCHAR(30), lastname NVARCHAR(30));
> GO
  • 发出列出的查询以将一些值插入到表“学生”中。
> INSERT INTO student VALUES (1, 'Stephen', 'Hawking');
> INSERT INTO student VALUES (2, 'Isaac', 'Newton');
> INSERT INTO student VALUES (3, 'Chandrasekhara Venkata', 'Raman');
> GO
  • 检查表问题列出的查询的条目。
> SELECT * from student;
> GO

在开始之前 Node.js 应该安装在本地系统中。

  • 要创建 Node.js 环境,请执行以下命令。
npm init
  • Express 允许我们设置中间件来响应 HTTP 请求。
npm install express --save
  • Microsoft SQL Server 客户端为我们提供了与 SQL Server 连接的功能。
npm install mssql --save

从 Node.js 部分开始,我们需要在本地系统中创建我们的服务器文件server.js

javascript
// Requiring modules
const express = require('express');
const app = express();
const mssql = require("mysql");
 
// Get request
app.get('/', function (req, res) {
 
    // Config your database credential
    const config = {
        user: 'SA',
        password: 'Your_Password',
        server: 'localhost',
        database: 'geek'
    };
 
    // Connect to your database
    mssql.connect(config, function (err) {
 
        // Create Request object to perform
        // query operation
        var request = new mssql.Request();
 
        // Query to the database and get the records
        request.query('select * from student',
            function (err, records) {
 
                if (err) console.log(err)
 
                // Send records as a response
                // to browser
                res.send(records);
 
            });
    });
});
 
var server = app.listen(5000, function () {
    console.log('Server is listening at port 5000...');
});


使用以下命令运行server.js文件:

node server.js

执行上述命令后,您将在控制台上看到以下输出:

Server is listening at port 5000...

现在在本地浏览器中点击 url http://localhost:5000/

输出: