2010-12-22 3 views
0

C#에서 Sybase ODBC 드라이버를 사용하고 있습니다. 잘 작동하지만 작동중인 데이터베이스를 지정하는 방법을 찾을 수 없습니다. (- 초기 카탈로그 MS SQL에서와 같이) 아래는. NET에서 ODBC에 SYBASE 데이터베이스 이름을 지정하는 방법

연결 문자열에 DB를 지정하는 방법이 있는지

해결 방법으로 나는이 두 점 통지

SELECT * FROM DB_NAME..TABLE_NAME 

을 사용하고 있습니다하지만 난 궁금해

string connString = string.Format ("Driver={{{0}}};srvr={1};uid={2};pwd={3};Initial Catalog={4};", 
GetConfigEntry ("SYBASE_DRIVER"), 
GetConfigEntry ("SERVER"), 
GetConfigEntry ("LOGIN"), 
GetConfigEntry ("PSWD"), 
GetConfigEntry ("DB") 
); 

편집 : 내가 사용 {MERANT 3.60 코드는 내가 연결 문자열을 만드는 데 사용하고 있습니다 32-BIT Sybase} 드라이버

+0

첫 번째 명령으로 USE

+0

을 사용할 수도 있습니다. 시도해 보았습니다 : USE DB; SELECT ... 그리고 알려지지 않은 명령을 가까이서 말합니다. – Maciej

답변

1

다음 연결 문자열을 사용하면 C#의 Sybase를 사용하고 초기 카탈로그를 지정할 수 있습니다.

Data Source=\\myserver\myvolume\mypat;Initial Catalog=mydd.add;User ID=myUsername;Password=myPassword;ServerType=REMOTE; 

어쨌든 연결 문자열에도 초기 카탈로그 속성이 있습니다.

+0

초기 카탈로그가 나에게 잘 작동하지 않을 수 있습니다 ... 아마도 {MERANT 3.60 32-BIT Sybase} 드라이버 – Maciej

+0

Mmm을 사용하는 것이 중요합니다. 이것을 시도하십시오. Provider = MSDASQL.1; Password = password; Persist Security Info = True ; 사용자 ID = userName, 확장 속성 = "DRIVER = {MERANT 3.6032-BIT Sybase}; UID = userName; DB = testDB; SRVR = DSRV0002; PWD = password "; 초기 카탈로그 = testDB –

+0

어리 석었지만 여전히 작동하지 않습니다. – Maciej

0
  1. 여기에 몇 가지 기본 사항을 오해 할 수도 있습니다. Sybase 또는 MS에 대한 원시 연결과 달리 ODBC 연결은 Datasource 정의에서 식별 된 하나의 db_name만을 처리합니다. ODBC는 db 컨텍스트를 이해하지 못하거나 db 컨텍스트를 변경할 수있는 용량이 없습니다. 따라서 연결할 각 db_name에 대해 새로운 Datasource 정의를 작성하십시오. 각 ODBC 드라이버 (공급 업체)가 기본 연결 (CT-라이브러리)를 사용하여 자신의 특수성

  2. 을 가지고

    • 참고 ODBC보다 훨씬 더 빨리, 그리고 이와 같은 제한이 없습니다.
      .
  3. Sybase는 또한 로그인 당 기본값 db_name을 설정할 수 있습니다. 이를 변경하여 해당 로그인의 모든 연결이 특정 db로 직접 연결되도록 할 수 있습니다.

  4. 이 연결된 후에 Sybase는 확실히 db 컨텍스트를 전환 할 수 있습니다. . 다음과 같이 할 수 있습니다 :

    USE db_name GO
    Do not forget the "GO". "USE db_name"은 일괄 처리의 유일한 명령이어야합니다.

  5. DBA가 아니며 개발자 (개발자)를 포함하기 위해 포함을 위해 db_name에 넣었으며 변경할 수없는 경우 정규화 된 테이블 이름 "db_name.user.table_name"을 사용하는 것이 올바른 방법입니다. 각 구성 요소에는 기본값 (db_name은 현재 db 임) userdbo입니다. 해결 방법은 아니지만 ISO/IEC/ANSI SQL 표준에 따라 필요한 방법입니다.

관련 문제