29.2. Conexão com o servidor de banco de dados

A conexão com o servidor de banco de dados é feita utilizando a seguinte declaração:

EXEC SQL CONNECT TO destino [AS nome_da_conexão] [USER nome_do_usuário];

O destino pode ser especificado das seguintes formas:

Se o destino da conexão for especificado literalmente (ou seja, não for especificado através de referência a uma variável), e o valor não estiver entre aspas, então são aplicadas as regras normais do SQL para tratamento de letras maiúsculas e minúsculas. Neste caso, os parâmetros podem ser colocados individualmente entre aspas conforme seja necessário. Na prática, provavelmente há menos chance de errar quando se usa literais cadeia de caracteres (entre apóstrofos), ou referência a uma variável. O destino de conexão DEFAULT inicia uma conexão com o banco de dados padrão sob o nome de usuário padrão. Neste caso, não é necessário especificar o nome do usuário ou da conexão em separado.

Também existem maneiras diferentes de especificar o nome do usuário:

Como acima, os parâmetros nome_do_usuário e senha podem ser um identificador SQL, um literal cadeia de caracteres SQL, ou referência a uma variável do tipo caractere.

O nome_da_conexão é utilizado para tratar várias conexões em um mesmo programa. Pode ser omitido se o programa utilizar apenas uma conexão. A conexão aberta mais recentemente se torna a conexão corrente, que é utilizada por padrão quando uma declaração SQL é executada (veja mais adiante neste capítulo).

Abaixo estão mostrados alguns exemplos de declaração CONNECT:

EXEC SQL CONNECT TO meubanco@sql.meudominio.com;

EXEC SQL CONNECT TO 'unix:postgresql://sql.meudominio.com/meubanco' AS minhaconexao USER joao;

EXEC SQL BEGIN DECLARE SECTION;
const char *destino = "meubanco@sql.meudominio.com";
const char *usuario = "joao";
EXEC SQL END DECLARE SECTION;
 ...
EXEC SQL CONNECT TO :destino USER :usuario;

A última forma faz uso da variante que foi referida acima como referência a uma variável do tipo caractere. Na Seção 29.6 é mostrado como as variáveis da linguagem C podem ser utilizadas nas declarações SQL quando são prefixadas por dois-pontos (:).

Como o formato do destino da conexão não é especificado pelo padrão SQL, se for desejado desenvolver aplicativos portáveis deve-se dar preferência à utilização de algo baseado no último exemplo acima, para encapsular a cadeia de caracteres de destino da conexão fora da declaração.

SourceForge.net Logo CSS válido!