将 Nodejs 和 Angular 2 连接到 SQL Server 2014
Connect Nodejs and Angular 2 to SQL Server 2014
我正在使用 Angular 2 和 Nodejs 连接到 SQL 服务器。如果我只是将以下代码放入 js 文件中,并使用 node test.js
通过控制台 运行 代码将正确删除记录。
代码如下:
var webconfig = {
user: 'sa',
password: 'test',
server: 'localhost',
database: 'Test',
options: {
encrypt: false // Use this if you're on Windows Azure
}
}
var express = require('express');
var sql = require('mssql');
var http = require('http');
var app = express();
var port = process.env.PORT || 4200;
var connection = new sql.Connection(webconfig, function(err) {
var request = new sql.Request(connection);
request.query('delete from Employee where Id = 2382', function(err, recordset) {
if(err) // ... error checks
console.log('Database connection error');
console.dir("User Data: "+recordset);
});
});
app.listen(port);
console.log(port+' is the magic port');
之后,我将相同的文件移动到 Angular 2 项目中的 src
文件夹(index.html 文件也存在于该文件夹中)。我将相同的代码放入 test.js
文件中的函数中,如下所示:
function testConnection()
{
var webconfig = {
user: 'sa',
password: 'test',
server: 'localhost',
database: 'Test',
options: {
encrypt: false // Use this if you're on Windows Azure
}
}
var express = require('express');
var sql = require('mssql');
var http = require('http');
var app = express();
var port = process.env.PORT || 4200;
var connection = new sql.Connection(webconfig, function(err) {
var request = new sql.Request(connection);
request.query('delete from Employee where Id = 2382', function(err, recordset) {
if(err) // ... error checks
console.log('Database connection error');
console.dir("User Data: "+recordset);
});
});
app.listen(port);
console.log(port+' is the magic port');
}
现在我想从索引页调用 testConnection()
。我已将 <script src="C:\Users\amandeep.singh\Desktop\Angular\my-app\src\test.js">
放入脚本路径并使用此函数调用该函数:
<script>
testConnection();
</script>
索引页面正常执行,但未显示任何错误,也未执行命令。我无法理解为什么相同的代码在 Nodejs 的控制台中有效,但在我的 index.html.
中却无效
将不胜感激。
您不能 运行 浏览器中的节点应用程序。 Nodejs 是 运行s Javascript 在 Google 的 V8 Javascript VM 中的一个应用程序,它是一个后端系统(至少在网络开发中是这样)堆栈)。
因此,您基本上必须 运行 网络服务器上的 Node 程序,并从 Angular 应用程序发出 API 请求。
互联网上有几个教程可以帮助您解决这个问题。
这是官方 Angular 文档 angular.io
我正在使用 Angular 2 和 Nodejs 连接到 SQL 服务器。如果我只是将以下代码放入 js 文件中,并使用 node test.js
通过控制台 运行 代码将正确删除记录。
代码如下:
var webconfig = {
user: 'sa',
password: 'test',
server: 'localhost',
database: 'Test',
options: {
encrypt: false // Use this if you're on Windows Azure
}
}
var express = require('express');
var sql = require('mssql');
var http = require('http');
var app = express();
var port = process.env.PORT || 4200;
var connection = new sql.Connection(webconfig, function(err) {
var request = new sql.Request(connection);
request.query('delete from Employee where Id = 2382', function(err, recordset) {
if(err) // ... error checks
console.log('Database connection error');
console.dir("User Data: "+recordset);
});
});
app.listen(port);
console.log(port+' is the magic port');
之后,我将相同的文件移动到 Angular 2 项目中的 src
文件夹(index.html 文件也存在于该文件夹中)。我将相同的代码放入 test.js
文件中的函数中,如下所示:
function testConnection()
{
var webconfig = {
user: 'sa',
password: 'test',
server: 'localhost',
database: 'Test',
options: {
encrypt: false // Use this if you're on Windows Azure
}
}
var express = require('express');
var sql = require('mssql');
var http = require('http');
var app = express();
var port = process.env.PORT || 4200;
var connection = new sql.Connection(webconfig, function(err) {
var request = new sql.Request(connection);
request.query('delete from Employee where Id = 2382', function(err, recordset) {
if(err) // ... error checks
console.log('Database connection error');
console.dir("User Data: "+recordset);
});
});
app.listen(port);
console.log(port+' is the magic port');
}
现在我想从索引页调用 testConnection()
。我已将 <script src="C:\Users\amandeep.singh\Desktop\Angular\my-app\src\test.js">
放入脚本路径并使用此函数调用该函数:
<script>
testConnection();
</script>
索引页面正常执行,但未显示任何错误,也未执行命令。我无法理解为什么相同的代码在 Nodejs 的控制台中有效,但在我的 index.html.
中却无效将不胜感激。
您不能 运行 浏览器中的节点应用程序。 Nodejs 是 运行s Javascript 在 Google 的 V8 Javascript VM 中的一个应用程序,它是一个后端系统(至少在网络开发中是这样)堆栈)。
因此,您基本上必须 运行 网络服务器上的 Node 程序,并从 Angular 应用程序发出 API 请求。
互联网上有几个教程可以帮助您解决这个问题。
这是官方 Angular 文档 angular.io