Jump to content

Recommended Posts

Posted

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.

Posted
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 🙂

Posted

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

Posted

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.

  • 4 months later...
Posted

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.

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
×
×
  • 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.