2012-12-17 1 views
0

리눅스 상자에서 연결해야하는 pm-eng이라는 SQL Server 데이터베이스가 있습니다. 나는 설정 인 unixODBC를했습니다 다음과 같이 내 ODBC.INI 구성 :unixODBC에 하이픈으로 데이터베이스 이름을 지정하려면 어떻게해야합니까?

[pm_production] 
Driver = FreeTDS 
Server = mssql.server 
Database = pm-eng 

내가 ISQL으로 테스트 할 때, 나는이 (가) '오후'데이터베이스가 존재하지 않는 말을 연결하는 오류가 발생합니다. 나는 데이터베이스 이름을 []로 싸고 행운이없는 따옴표를 시도했다. 이상적으로 나는 단지 DB의 이름을 바꾸 겠지만이 환경에서는 불가능합니다. 하이픈으로 연결되지 않은 DB 이름으로 연결을 확인했으며 정상적으로 작동합니다. 하이픈으로 연결된 DB 이름을 사용하여 ODBC DSN에 연결할 수 있습니까? 당신은 MSSQL 데이터베이스에 연결하는 때문에

+0

음이 정말 추악한 해결 방법처럼 들리 겠지만 다음 중 하나 (a)는 다른,보다 유연한 제공을 시도 할 수 또는 (b)가 tempdb''에 연결할 DSN을 설정하고 : 최종 설정은 다음과 같습니다 코드에서'pm-eng'으로 변경하십시오. –

답변

0

이것은 unixODBC가 아니라 FreeTDS의 문제로 밝혀졌습니다. odbc.ini 파일에 TDS_Version을 지정해야하며 작동하기 시작했습니다.

[pm_production] 
Driver = FreeTDS 
Server = mssql.server 
Database = pm-eng 
TDS_Version = 8.0 
0

어쩌면 당신이 시도 할 수 있습니다 :

[pm_production] 
Driver = FreeTDS 
Server = mssql.server 

을 그리고 기본 데이터베이스의 사용자와 연결시-ENG MSDN에서 발견 문서에 따르면

입니다 : "데이터베이스가 지정되지 않은 경우 로그인에 정의 된 기본 데이터베이스가 사용됩니다."

+0

그럴 때 오류는 데이터베이스입니다. "pm-eng" '이 존재하지 않습니다. –

관련 문제