안녕하세요.
mssql 2000 developer 버전과 IIS6.5가 설치된 windows2003 server에서 asp로된 웹사이트 하나가 운영되고 있습니다.
이것을 A서버라고 하겠습니다.
cafe24에서 윈도우 광호스팅 서비스를 신청하고 이곳에 또다른 웹사이트 하나를 운영합니다. sql은 2005 입니다.
이것은 B서버라고 하겠습니다.
A서버의 웹사이트에서 어떤 페이지를 들어가면,
B서버의 지역별 지점 정보 테이블에 접근하고 해당 레코드를 가져와 A서버의 웹사이트에 뿌려주는 구조를 만들었습니다.
asp로 된 DB연결문을 cafe24에서 제공하는 DB접속정보로 설정하고 connection을 새로 하나 만들어서
해당 레코드를 가져올 때는 cafe24 DB를 연결하도록 한 것입니다.
그런데 처음엔 잘 되는 것 같다가 갑자기 db연결이 안되는 것입니다.
에러 내용은 다음과 같습니다.
Microsoft OLE DB Provider for SQL Server
error '80004005'
[DBNETLIB]ConnectionOpen (Connect()).]SQL Server does not exist or access denied.
처음에는 접속 되었던 것 같은데 갑자기 이렇게 나와서 cafe24에 문의를 하였더니 자신들이 A서버의 웹사이트에 가서
확인을 해보니 잘 나온다며 외부에서 DB접속을 못하게 하는 설정은 없다고 합니다.
그래서 일단 문제의 에러 화면을 캡처하여 다시 문의해 놓은 상태인데요..
제가 궁금한 것은 두 가지 입니다.
1. mssql2000이 설치된 서버에서 EM으로 mssql2005가 설치된 서버에 접속이 가능한지요?
이 부분은 제가 일단 제 PC로 테스트를 해 보았는데 EM으로 접속이 되더군요...
근데 제 PC에는 mssql2000과 2005 둘다 설치가 되어 있기는 합니다.
그래서 혹시 sql2000만 설치된 PC에서는 접속이 안되는 것인가 싶어 A서버에 있는 EM으로 접속을 시도해 보았는데
연결이 안되더라구요. 예상대로 sql2000만 설치된 서버에서는 2005 서버로 접속이 안되는 것인가요?
2. A서버에 설치된 sql 버전과 관계없이 웹사이트에서 db연결 구문만 제대로 써주면 sql 2005로 접속이 가능한가?
제가 알기로는 가능한 것으로 알고 있는데요... sql버전과 상관 없이 A서버가 웹서버로써 사이트를 돌리고 있는 중이니
cafe24 DB로 연결하기 위한 db connection 문장만 잘 맞춰주면 원래 연결이 되야 하는 것 아닌가요?
일단 제가 사용중인 개발용 PC에서는 문제없이 접속되고 테이블 정보도 가져오는데 이 소스를 그대로 A서버에 적용하면
connection 에러가 나는 이유를 모르겠습니다.
cafe24 호스팅 서버에 웹나이트가 작동 중인데 혹시 관련 필터링이 작동하여 A서버 IP가 차단된 것은 아닐까 의심이 되지만
cafe24측에서 아직 확인이 없네요...
테스트PC에서 B서버로 연결이 된다고 하시니 B서버가 에러 메세지 처럼 SQL DB가 없거나 서비스상태의 문제는 아닌 것으로 판단됩니다.
가장 간단하게 테스트 해보는 방법은 A서버에서 cmd -> telnet [B서버 IP주소] [Port(1433)] 로 접속이 되는지 확인이 필요할 것 같습니다.
만약 접속이 안되면 A서버에서 B서버로 나가는 방화벽을 체크하고 그 후에 B서버의(cafe24) 의 내역을 확인해 봐야 될 것 같습니다.