Árvore de páginas

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

Veja também

  • Sem rótulos