Nodej를 기반으로하는 Azure 응용 프로그램 서비스에서 온 - 프레미스 SQL Server Express 데이터베이스를 쿼리해야합니다. 하이브리드 연결을 추가하려면 this tutorial을 따라갔습니다.azure 노드에서 하이브리드 연결을 통해 데이터베이스 쿼리 js 백엔드
내 서비스에이 연결을 성공적으로 연결하고 추가했습니다. 그런 다음
Server=LOCALHOST\\SQLEXPRESS,1433;Database=smartpointmovil_db;User ID=sa;Password=pass1009
, 내 푸른 모바일 앱 서비스 노드 JS에서 쉬운 API를 썼다 : 나는 또한 연결 문자열을 추가
"get": function (req, res, next) {
var sql = require("mssql");
var config = {
server: 'LOCALHOST\\SQLEXPRESS',
user: 'sa',
password: 'pass1009',
database: 'smartpointmovil_db',
port: 1433
};
var conn = new sql.Connection(config);
var req=new sql.Request(conn);
conn.connect(function(err){
if(err){
console.log("Error connectig: "+err);
return;
}
req.query('select * from smartpointmovil.cat_cadenas where id=1',function(err,results){
if(err){
console.log("Error during query: "+err);
return;
}
else{
console.log("Success: "+results[0].cadena);
res.json(results[0]);
}
conn.close();
});
});
}
나는이 API를 호출 할 때마다, 나는 다음을 얻을 오류 메시지 :
Error connectig: ConnectionError: Failed to connect to LOCALHOST:undefined in 15000ms
내 코드에서 쿼리에 사용되는 연결 문자열을 정의 할 수있는 방법을 찾을 수 없었기 때문에이 구성 매개 변수를 포함하고있다.
Azure 호스트 서비스에서 내 로컬 데이터베이스를 쿼리하기 위해 노드 js 코드를 작성하는 방법에 대한 아이디어가 있습니까?
내가 이미 시도했다. 하이브리드 연결의 호스트 이름을 "LOCALHOST"에서 "quandojhv"(로컬 서버의 컴퓨터 이름)로 변경했습니다. 연결 문자열과 코드의 연결 구성이 "... server = 'quandojhv \\ SQLEXPRESS', ..."에 의해 변경되었습니다. 같은 오류가 발생합니다 : "응용 프로그램 : 오류 connectig : ConnectionError : quandojhv에 연결하지 못했습니다 : 15000ms에 정의되지 않았습니다." –
둘 다 Kudu 콘솔에서 사용할 수있는 sqlcmd.exe 및 nameresolver.exe로 테스트하십시오. – evilSnobu
아, HCM이 NIC의 개인 IP 주소에서 패킷을 가져 오므로 SQL 인스턴스가 127.0.0.1보다 광범위한 신호를 수신하는지 확인하십시오 (예 : 서버가 10.1.1.1 인 경우 흐름은 10.1.1.1:random_port -> 10.1.1.1:1433) – evilSnobu