如何在浏览器中从 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/ 。
输出: