• [학생] mssql 을 로컬호스트로만 사용해봤는데 외부에서 디비에 넣으려면....?2018.12.13 PM 02:42

게시물 주소 FONT글자 작게하기 글자 키우기

어떻게 해야할까요?

노드 js에서 서버주소 : 192.168.5.1

 포트 : 1443, 아이디, 비번 입력하고 

커넥트 해서 테이블에 인서트까지 잘 했습니다. 

 

근데...이게 외부 호스팅 주소로 코드를 올려서 호스팅 주소에서 특정 라우터로 갈 경우에 테이블에 insert하고싶습니다.

위에서 192.168.5.1 디비 서버 주소부분이 외부접근 가능한 주소로 바껴야할거같은데 어떻게 해야할까요?

 

sql server configuration manager에서 tcp/ip enabled했고...그곳 속성에서 IP주소 탭에서 IP주소는 192.168.5.1이렇게 나오고..이걸 포트포워딩해야할까요?

 

감사합니다. 

 

현재 

http://server-talk.tistory.com/251 이걸 보고 방화벽까지 인바운드 새로운 규칙만들어놨습니다.

댓글 : 4 개
전반적인 코드를 보지 못해서 정확한 설명을 드리기 어려우나,
일단 보내는쪽 클라이언트에서 ajax나 fetch를 통해서 http request를 발생시키는 부분이 필요할거 같습니다.
그러면 받는 서버쪽에서 cors문제가 발생할테니 이거 관련 처리를 node middleware에서 해주시고
서버에서 특정 url이나 포트로 들어오면 insert함수를 실행시키면 정리가 될듯합니다.
node js 코드는


var sql = require('mssql');

/ var strSql = "";
/
/ //디비 연결정보
/ var connectionConfig = {
/ / user: 'sa',/ / / / / //사용자
/ / password: 'admin'/ ,/ / / //비밀번호
/ / server: '192.168.5.1',/ / //서버주소
/ / port:'1433',/ / / / / //서버포트
/ / options: {
/ / / database: 'hrdb2',/ / / //데이터베이스 이름
/ / / instanceName : '',
/ / / connectTimeout : 15000,
/ / / requestTimeout : 15000,
/ / / useUTC : true
/ / }
/ };

app.get("/gotodb",function(req,res){
console.log("come to insert db");
var connection = new sql.ConnectionPool(connectionConfig, function(err) {
if (err) return console.error('error is', err)

// or: var request = connection.request();
var request = new sql.Request(connection);

var data = "aaaa";

/**
; */
strSql = "insert into dbo.Temp values(33,55,CONVERT (DATE, '2014-12-10'))";
// strSql = strSql + " values ('msg_from_server2','010-9619-8289','"+data+"',getdate())";

request.query(strSql, function(err, recordset) {
if (err) return console.error('error query is', err)/ / / /
//console.log('result query is', recordset);
});
});
})
인터넷 거쳐서 연결하시는거면 포트포워딩 사용해야죠.
외부 IP(XXX.XXX.XXX.XXX:nnnn) - 라우터(포트포워딩)-내부IP(192.168.5.1:1433)
외부접속 포트번호 설정하실때는 흔히 사용하는 포트 번호는 사용하지 마시구요.
친구글 비밀글 댓글 쓰기