Jump to content

[VB6] Criar ODBC


hybrispt
 Share

Recommended Posts

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.

Link to comment
Share on other 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;)😄 ;)

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

Link to comment
Share on other sites

perdido_e_sozinho

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

ser.gifsartim.gif

Link to comment
Share on other 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.

Link to comment
Share on other 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.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.