하나는 다음 명령문을 사용하여 데이터베이스에 연결합니다:
EXEC SQL 연결 대상대상 [AS연결 이름] [사용자사용자 이름];
그대상다음에 지정할 수 있습니다. 다음과 같은 방법으로:
DB이름[@호스트 이름][:포트]
tcp:윈 토토://호스트 이름[:포트][/db이름][?옵션]
unix:윈 토토://호스트 이름[:포트][/db이름][?옵션]
위 중 하나를 포함하는 SQL 문자열 리터럴 양식
다음 중 하나를 포함하는 문자 변수에 대한 참조 위 양식(예제 참조)
기본값
연결 대상을 문자 그대로 지정하는 경우(즉, 변수 참조를 통해) 값을 인용하지 않은 경우 일반 SQL의 대소문자 구분 규칙이 적용됩니다. 그 안에 경우에는 개별 매개변수를 큰따옴표로 묶을 수도 있습니다. 필요에 따라 별도로. 실제로는 아마 더 적을 것이다. (작은따옴표로 묶인) 문자열 리터럴이나 변수를 사용하면 오류가 발생하기 쉽습니다. 참조. 연결 대상기본값기본값에서 기본 데이터베이스에 대한 연결을 시작합니다. 사용자 이름. 별도의 사용자 이름이나 연결 이름은 사용할 수 없습니다. 이 경우에는 지정됩니다.
사용자 이름을 지정하는 방법도 다양합니다:
사용자 이름
사용자 이름/비밀번호
사용자 이름식별자비밀번호
사용자 이름사용 중비밀번호
위와 같이 매개변수사용자 이름그리고비밀번호SQL 식별자, SQL일 수 있음 문자열 리터럴 또는 문자 변수에 대한 참조입니다.
그연결-이름다음에 익숙합니다. 하나의 프로그램에서 여러 연결을 처리합니다. 경우에는 생략 가능 프로그램은 하나의 연결만 사용합니다. 가장 최근에 오픈한 연결은 다음에서 사용되는 현재 연결이 됩니다. SQL 문이 실행될 때 기본값(나중에 설명됨) 이 장).
다음은 몇 가지 예입니다연결문장:
EXEC SQL이 mydb@sql.mydomain.com에 연결됩니다. EXEC SQL CONNECT TO unix:윈 토토://sql.mydomain.com/mydb AS myconnection USER john; EXEC SQL 시작 선언 섹션; const char *target = "mydb@sql.mydomain.com"; const char *user = "존"; EXEC SQL END 선언 섹션; ... EXEC SQL 연결 대상:대상 사용자:사용자;
마지막 형식은 위에서 언급한 변형을 다음과 같이 사용합니다. 문자 변수 참조. 이후 섹션에서 방법을 확인할 수 있습니다. C 변수는 접두어를 붙이면 SQL 문에서 사용할 수 있습니다. 콜론으로.
연결 대상의 형식이 다음과 같지 않음을 주의하십시오. SQL 표준에 명시되어 있습니다. 그래서 포터블을 개발하고 싶다면 응용 프로그램의 경우 마지막 항목을 기반으로 무언가를 사용하고 싶을 수도 있습니다. 연결 대상 문자열을 캡슐화하는 위의 예 어딘가.