2016-08-03 4 views
1

이 오류가 계속 표시되며 원격 서버의 데이터베이스에 연결할 수 없습니다.TinyTDS : 구성 파일에 서버 이름이 없습니다.

나는 다음과 같은 데이터베이스에 대한 연결 문자열, 주어진하고

:

development: 
    adapter: 'sqlserver' 
    host:  'qsss.gar.de\SQL2012,3000' 
    port:  1433 
    database: 'City' 
    username: 'user_me' 
    password: 'user_me##2009' 
: 이제

data source=qsss.gar.de\SQL2012,3000;initial catalog=City;persist security info=True;user id=user_me;password=user_me##2009; 

을, 나는 다음과 같은 것을 연결 문자열을 기반으로 database.yml 파일을 만들었습니다

그리고 서버를 실행하려고하면 항상 구성 파일에 서버 이름이 없습니다. 오류가 발생합니다.

opts[:port] ||= 1433 
     opts[:dataserver] = "#{opts[:host]}:#{opts[:port]}" if opts[:dataserver].to_s.empty? 
     connect(opts) // ERROR AT THIS LINE 
    end 

    def tds_73? 

이 문제의 문제점을 파악하는 데 도움을 주시겠습니까?

UPDATE :

나는 정확히 같은 연결 매개 변수와 함께, SQLPro for MSSQL 마법사를 사용하여 서버에 연결할 수 있습니다

picture

그것은 마법사에서 작동하지만 코드를 사용하여 TinyTDS에서 !

+0

친숙하지는 않지만 호스트 이름은 "qsss.gar.de"일 수 있습니다. (또한 포트가 3000 일 수도 있습니다) –

+0

아니요, 괜찮습니다. SQLPro 마법사의 매개 변수와 정확히 연결할 수 있지만 그렇지 않습니다. 응용 프로그램에서. – zwiebl

+0

호스트 이름과 관련이 없으므로 포트를 3000으로 변경하고 호스트에서 3000을 제거하십시오. – engineersmnky

답변

0

그래서 이것은 실제로 qsss.gar.de\SQL2012,3000:1433

모양을이

development: 
    adapter: 'sqlserver' 
    dataserver: 'qsss.gar.de\SQL2012:3000' 
    database: 'City' 
    username: 'user_me' 
    password: 'user_me##2009' 

는 현재 구성이 호스트 값을

  • 먼저 당신이 포트를 지정하는 두 가지

    고통을 포함한다 시도하십시오
  • 둘째 호스트가 해석 될 때 백 슬래시가 두 배가됩니다. TinyTDS으로이 문제를 해결해야 qsss.gar.de\\SQL2012,3000:1433

dataserver 옵션은이 옵션을 hostname:port 형식으로 백 슬래시와 포트를 지원했다. 나는 이것을 테스트하지는 않았지만 문서에 따르면 충분한 해결책이되어야한다.

+0

당신이 쓴 것처럼 시도했지만 초기 오류 줄에 다시 : "구성 파일에서 서버 이름을 찾을 수 없습니다.": ( – zwiebl

+0

나를 혼란스럽게하는 것은 명령 줄에서 다음을 얻는 것입니다. 서버 : "시작 GET"/ :: 1에 대한 2016-08-03 16시 56 분 2 초 +0200. GET 명령은 빈 IP 주소와 같습니다. 이상하게 보입니다. – zwiebl

+0

만약 내가 "qsss.gar.de"가되도록 호스트를 변경하고 "qsss.gar.de \ SQL2012"가 아닌 "연결할 수 있습니다."그래서 문제는 "\"를 구문 분석하는 어딘가에 있습니다. 심지어 작동하려면이 부분을 "SQL2012"해야합니다. – zwiebl

0

저도 같은 문제가 있었는데이 config.yml 파일에"데이터 서버"에 "호스트" 매개 변수를 변경하여 해결할 수 있었다.

또한 응용 프로그램을 실행중인 서버가 서버의 IP를 입력하지 않으면 데이터베이스 서버의 DNS 이름을 확인할 수 있는지 확인하십시오.

또한 Microsoft SQL 데이터베이스를 사용하며 "TinyTds :: 오류 : 구성 파일에서 서버 이름을 찾을 수 없습니다" 오류 만 해결할 수 있습니다.