Função TCGetDB - Como saber qual o banco de dados está utilizando?


O TCGetDB, Recupera o tipo do banco de dados relacional, em uso, pela conexão atual com o DBAccess. Sintaxe: TCGetDB() Retorno:  Retorna uma string contendo um identificador do banco de dados em uso pela conexão atual. A função TCGetDB() retorna uma string contendo um identificado 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
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(). Exemplo:
Local cDB := TcGetDB()
If Empty(cBD)
      MsgStop("Não há conexão ativa.")
Else
      MsgInfo("Conectado com "+cBD)
Endif