• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

hybrispt

[VB6] Criar ODBC

6 mensagens neste tópico

Oi.

Estou num pequeno dilema.

Estou a criar um pequeno software que usa duas bases de dados distintas em access, utilizando ODBC.

O problema é que preciso, durante a instalação, fazer a criação dos ODBC, caso não existam, e aponta-los para as bases de dados.

Estou a usar VB6.

Alguém sabe?

Obrigado.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Oi.

Estou num pequeno dilema.

Estou a criar um pequeno software que usa duas bases de dados distintas em access, utilizando ODBC.

O problema é que preciso, durante a instalação, fazer a criação dos ODBC, caso não existam, e aponta-los para as bases de dados.

Estou a usar VB6.

Alguém sabe?

Obrigado.

se trabalhares em vs.net 2003 podes fazer um setup todo pipoca que cria logo todos os files que tu quiseres que ele crie dentro da pasta C:\programas\teu_programa\

Portanto depois é só teres no código as bases de dados apontadas para esse endereço.

Fica bem;):D;)

P.S.: é possível criar setup's em vb6, mas pelo que vi do processo, não gostei :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se utilizares o microsoft installer para o Visual Studio 6 poderás criar um installer que poderá adicionar ODBC e copiá-lo automáticamente.

Em alternativa poderás utilizar o Advanced Installer.

Mas de facto o vbmaster disse e bem que o VB.NET faz installer catitas. Além disso é muito melhor a criar aplicações que usem base de dados.

Com os melhores cumprimentos,

Sérgio Matias

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Penso que encontrei uma solução.

Estou a usar o ODBC para aceder a duas bases de dados em Access.

Em vez disso, faço a ligação directa.

Código de ligação antigo:

...
Dim cnn As New ADODB.Connection
cnn.Open "SAFA_LOCAL", userODBCLOCAL, passODBCLOCAL
...

Em que SAFA_LOCAL é o ODBC para uma das bases de dados, userODBCLocal é o username e passODBCLocal é a pass.

A solução é esta:

...

Dim cnn As New ADODB.Connection
AccessConnect = "Driver={Microsoft Access Driver (*.mdb)};" & _
                    "Dbq=safa.mdb;" & _
                    "DefaultDir=C:\Doc...\DB\Local;" & _
                    "Uid=Admin;Pwd=;"

cnn.ConnectionString = AccessConnect
cnn.Open

...

Mas como vocês percebem muito mais que eu, agradecia a vossa opinião.

Obrigado.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Olá.

Para conseguires isso, usa a função "SQLConfigDataSource" presente no "ODBCCP32.DLL". Já experimentei e funciona muito bem.

Aqui vai o extracto de um artigo do MSDN para te auxiliar:

The following example uses the ::SQLConfigDataSource ODBC API function to create a new Excel data source called "New Excel Data Source":

SQLConfigDataSource(NULL,ODBC_ADD_DSN, "Excel Files (*.xls)",

                  "DSN=New Excel Data Source\0"

                  "Description=New Excel Data Source\0"

                  "FileType=Excel\0"

                  "DataDirectory=C:\\EXCELDIR\0"

                  "MaxScanRows=20\0");

Note that the data source is actually a directory (C:\EXCELDIR); this directory must exist. The Excel driver uses directories as its data sources, and files as the individual tables (one table per .xls file).

© Microsoft Corporation. All rights reserved.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora