O driver ODBC especÃfico para o banco de dados que deseja usar seria uma ponte entre sua aplicação e o servidor de dados, então as configurações de acesso, ficariam ou no seu código fonte, ou em uma tabela/txt/xml/ini separado, para ser lido na hora da execução do aplicativo :
static function entrada()
local m_usuario := 'sysdba'
local m_senha := 'masterkey'
local m_hostname := ''
local m_banco := 'broker'
local oCursor
local cSQL
/*
** exemplo se quiser acessar o mysql
* mysql
Try
CNN:=CreateObject("ADODB.Connection")
CNN:Open("DRIVER={MySQL ODBC 3.51 Driver};" + ;
"server=localhost" + ;
";database=broker" + ;
";uid=root" + ;
";pwd=121230")
Catch e
Error Connection CNN
ExitProcess(0)
End
*/
* firebird
Try
CNN:=CreateObject("ADODB.Connection")
CNN:Open("DRIVER=Firebird/InterBase(r) driver;UID="+alltrim(upper(m_usuario))+";PWD="+alltrim(m_senha)+";DBNAME="+alltrim(upper(m_hostname))+alltrim(upper(m_banco))+".fdb;CHARSET=WIN1252;DIALECT=3;CLIENT=fbclient.dll")
Catch e
Error Connection CNN
ExitProcess(0)
End
****************************
* *
* criar tabelas do sistema *
* *
****************************
cSQL := "CREATE TABLE COTACAO (ID VARCHAR(15), ID_VEICULO INTEGER, ID_CLIENTE INTEGER, NOME_VEICULO VARCHAR(40), ID_SEGURADORA INTEGER, VEZES INTEGER, FORMA_PAGAMENTO INTEGER, TIPO_FRANQUIA INTEGER, DATA_INICIO DATE, VALOR_FRANQUIA NUMERIC(12,2), VALOR_SEGURO NUMERIC(12,2), COB_CASCO INTEGER, COB_DANOSMAT INTEGER, COB_DANOSCORP INTEGER, COB_MORTE INTEGER, COB_INVALIDEZ INTEGER, OUTROS BLOB, NOME_SEGURADORA VARCHAR(40), PRIMARY KEY(ID))"
Try
CNN:Execute(cSQL)
Catch e
//ExitProcess(MsgStop("tabela já existe"))
End
return(nil)
No exemplo, conecta usando ADO (windows) + driver ODBC (tem que instalar o do Firebird), e a parte do Try-Catch seria do xHabour, que pode ser usado com Harbour associando xhb.ch, ou claro, substituindo por seu equivalente, que agora não me recordo o nome e sintaxe.
Abraços