문제

node-mssql을 사용하여 Azure의 데이터베이스에 연결하려고 합니다.내 개발 시스템은 Windows 7이고 WebMatrix를 통해 node-sqlserver를 설치하는 데 전혀 성공하지 못했습니다.

내 질문은 두 부분으로 구성됩니다.첫째, Microsoft의 지침을 따를 때에도 node-sqlserver에 오류가 발생하는 이유가 있습니까?WebMatrix 내에서 NPM을 사용하여 순진한 접근 방식을 시도하면 다음 오류가 발생합니다.

An error occurred.

"C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "node-sqlserver" "--json"


Exit status 1

Failed at the node-sqlserver@0.1.0 install script.
This is most likely a problem with the node-sqlserver package,
not with npm itself.
Tell the author that this fails on your system:
    node-gyp rebuild
You can get their info via:
    npm owner ls node-sqlserver
There is likely additional logging output above.



Failed: npm reported an error.

NodeNpm.NpmException: Failed: npm reported an error.
   at NodeNpm.NpmApi.Install(INpmPackage package)
   at Microsoft.WebMatrix.NpmGallery.CachingPackageManger.InstallPackage(INpmPackage package)
   at Microsoft.WebMatrix.NpmGallery.PackageViewModel.Install()
   at System.Threading.Tasks.Task.InnerInvoke()
   at System.Threading.Tasks.Task.Execute()

이 머신에는 VS2012 Professional이 설치되어 있습니다.

내 질문의 두 번째 부분은 Azure에서 node-mssql을 사용할 수 없는 이유가 있습니까?입니다.세부 정보를 여러 번 확인했는데도 연결 실패 오류가 발생합니다(아래 실제 값을 자리 표시자로 대체).

var config = {
  user: '{username}',
  password: '{password}',
  server: 'tcp:{server}.database.windows.net',
  database: '{database}'
}

다음 오류가 발생합니다.

{"name":"ConnectionError","message":"tcp 연결:{서버}.database.windows.net:1433 >- 실패 오류:getaddrinfo ENOTFOUND"}

node-sqlserver가 Azure에서 이를 수행하는 가장 좋은 방법이라는 것을 알고 있지만 며칠 동안 성공하지 못했습니다.내가 놓친 것이 분명합니까?

도움이 되었습니까?

해결책

1)당신이 그것을 해결할 수 있습니 다운로드를 미리 컴파일 node-sqlserver 에서 드라이버 이 repo.지 않았을 컴파일 할 수원 내 컴퓨터에서도 모든 데브존성 설치됩니다.

2) node-mssql 모듈을 사용하여 세 가지 다른 드라이버와 통신하는 sql server.의 구성을 지정하지 않는 모든 드라이버,그래서 기본값은 사용 Tedious.변경해야 합니다 당신의 구성을 그것이 제대로 작동:

var config = {
    user: '{username}',
    password: '{password}',
    server: '{server}.database.windows.net', // simply remove "tcp:"
    database: '{database}'
}

또한 사용하는 옵션 node-mssqlnode-sqlserver 하지만 그것을 만들 작품을 설치 컴파일 node-sqlserver driver 수 있습니다.구성은 다음과 같이 나타나야 합니다.

var config = {
    driver: 'msnodesql',
    user: '{username}',
    password: '{password}',
    server: 'tcp:{server}.database.windows.net',
    database: '{database}'
}

다른 팁

모듈 이름이 작년에 Node.js에서 SQL Azure를 사용하고 있었습니다. node-sqlserver 그래서 내 대답이 효과가 없을 수도 있습니다.

첫 번째 문제를 참조하세요. node-mssql은 다음을 통해 컴파일해야 합니다. node-gyp 그리고 C++ NPM 설치 중.따라서 C++ 컴파일러가 설치되어 있는지 확인하는 것이 좋습니다.설치 중에 VS2010 C++가 필요하다는 메시지가 나타났습니다.지금 필요한지, 아니면 이후 버전이 필요한지 확실하지 않습니다.당신은 실행할 수 있습니다 npm install node-mssql 명령 창에서 실패하면 로그 파일을 가져와야 합니다. npm-error.log 또는 비슷한 것.

두 번째 문제를 참조하세요. 이 모듈을 사용할 때 연결 문자열을 사용합니다.사용자 이름이 형식으로 지정되었는지 다시 확인해 주시겠어요? user@server.또한 다른 클라우드 서비스에 대해 SQL Azure 방화벽이 열려 있는지 다시 확인하세요.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top