Recupera o tipo do banco de dados relacional, em uso, pela conexão atual com o DBAccess.
Sintaxe
TCGetDB()
Retorno
Nome | Tipo | Descrição |
---|---|---|
cRet | caractere | Retorna uma string contendo um identificador do banco de dados em uso pela conexão atual. |
Observações
A função TCGetDB retorna uma string contendo um identificador que representa o banco de dados relacional (SGBD) em uso pela conexão atual/ativa com o DBAccess.
Esta função é útil em programas que utilizam banco de dados relacional através de conexões com o DBAccess. Além disso, existe a necessidade de saber, em tempo de execução, qual o banco de dados em uso pela conexão, para permitir codificar um tratamento diferenciado ou específico.
A string retornada representa o tipo de banco de dados utilizado na conexão atual, especificado como parâmetro inicial da função TCLink, para estabelecer a conexão da aplicação com o SGBD através do DBAccess.
A seguir, observe na tabela a string que será retornada:
Banco de Dados | String retornada |
---|---|
Microsoft SQL Server | MSSQL |
Oracle | ORACLE |
IBM DB2 ( UDB ) | DB2 |
(*) IBM DB2 ( AS400 / iSeries ) | DB2/400 |
IBM Informix | INFORMIX |
Sybase | SYBASE |
PostgreSQL | POSTGRES |
Generic ODBC Connection | ODBC |
MySQL | MYSQL |
c-treeACE SQL | CTREESQL |
OpenEdge | OPENEDGE |
Caso não haja nenhuma conexão ativa com DBAccess no momento da chamada da função, é retornada uma string em branco ( "" ) e no log de console do Application Server será registrada uma advertência: "Warning - TCGetDB - statement ignored - No connection.".
(*) Quando utilizado banco de dados DB2 em equipamento AS400/iSeries, independente de ser utilizado TOP2 ou TOP4, o retorno da função TCGetDB será sempre a string "DB2/400". Caso exista a necessidade do programa determinar qual a versão da aplicação (TOP2 ou TOP4) em uso pela conexão, deve ser utilizada a função TCSrvType.
Exemplos
user function teste() Local nHandle := TCLink() Local cDB := TcGetDB() If Empty( cDB ) MsgStop( "Não há conexão ativa." ) Else MsgInfo( "Conectado com " + cDB ) Endif TCUnlink( nHandle ) return