CONEXAO MYSQL JUNTO COM ARQUIVO .INI DE INSTALACAO

USUARIO.EXCLUIDOS 16/08/2007 10:03:36
#231145
Bom dia Pessoal.

tenho um módulo de conexao para um programa de um cliente, com servidor mysql pelo VB

código do módulo

Public Conexao As ADODB.Connection
Public Server As String

If Server = "Demo" Then

Set Conexao = New ADODB.Connection
Conexao.Open "DRIVER={MySQL ODBC 3.51 Driver};" & _
"server=192.168.0.1;" & _
"uid=root;pwd=minhasenha;port=3306;" & _
"database=base_demo"

ElseIf Server = "São Paulo" Then

Set Conexao = New ADODB.Connection
Conexao.Open "DRIVER={MySQL ODBC 3.51 Driver};" & _
"server=192.168.100.1;" & _
"uid=root;pwd=minhasenha;port=3306;" & _
"database=base_spo"
End if

'<--------------
PARA ENTRADA DE USUÁRIO APÓS ABRIR A CONEXAO

Server = CmbUnidade.Text
Call Conexao

ABRE CURSOR:

Set cursor = New ADODB.Recordset
cursor.Open "Select * From tblUse Where Usuario = '" & Replace(txtUsuario.Text, "'", "''") & "' And Senha = '" & txtSenha.Text & "'", Conexao, ...

até tudo bem, o problema que vai mudar de servidor ,e o administrador da nova rede, pediu prá fazer um arquivo separado só com os dados do servidor prá mesma base em mySql.

abri um arquivo .ini assim:

"server=192.168.100.1;"
"uid=root;"
"pwd=minhasenha;"
"port=3306;"
"database=base_spo"

Só não estou sabendo como jogar esse arquivo tipo texto dentro do VB prá fazer essa Nova Conexão.

Alguém pode me ajudar?

Abraço,


USUARIO.EXCLUIDOS 16/08/2007 11:33:41
#231171
Resposta escolhida
http://www.vbmania.com.br/vbmania/vbmforum.php?varMethod=Abrir&varID=28273&varUltimaPagina=1
USUARIO.EXCLUIDOS 16/08/2007 16:10:37
#231213
BLZ WWWHSD.

valew pela dica, vou testar aqui, adaptando pro meu caso.
depois dou um retorno.
Abraço,

USUARIO.EXCLUIDOS 17/08/2007 12:41:12
#231374
Boa Tarde pessoal,

através da dica do colega WWWHSD, que é uma dúvida antiga que foi respondida através da função abaixo que coloquei num Módulo:

Private Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
Private Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpString As String, ByVal lpFileName As String) As Long

Function ReadINI(inifile As String, topic As String, subtopic As String, default As String)
Dim sData As String
Dim lDataLen As Long
Dim inidados As String

sData = Space$(255)
lDataLen = GetPrivateProfileString(topic, subtopic, default, sData, Len(sData), inifile)
inidados = Left$(sData, lDataLen)

ReadINI = inidados
End Function


Sub WriteINI(inifile As String, topic As String, subtopic As String, sData As String)
WritePrivateProfileString topic, subtopic, sData, inifile
End Sub



conteúdo do arquivo conexao.ini:

";server=192.168.0.1;uid=root;pwd=421att;port=3306;database=ideal_demo"

'depois prá chamar estou tentanto fazer assim

Dim Con2, Teste, Valor As String
Con2 = ReadINI(App.Path & "\conexao.ini"", "Con2", "Teste", "Valor")

'e prá abrir na conexao

Set Conexao = New ADODB.Connection

Conexao.Open "DRIVER={MySQL ODBC 3.51 Driver}" & Con2 & ""

só que dá dando erro:

o formato da sequencia dos caracteres de inicialização não está de acordo com a especificação OLE DB

alguém pode me ajudar com isso?, porque tá quase certo, se eu for fazer por dentro do VB como abai abre a conexão normalmente:

Dim Caminho as String
Caminho = ";server=192.168.0.1;uid=root;pwd=421att;port=3306;database=ideal_demo"

Set Conexao = New ADODB.Connection
Conexao.Open "DRIVER={MySQL ODBC 3.51 Driver}" & Caminho & ""


Abraço,



USUARIO.EXCLUIDOS 17/08/2007 17:17:25
#231445
Crie um arquivo ini com a estrutura abaixo(substitua de acordo com sua necessidade os campos):

[Caminho]
Bd=pc2
[Porta]
PO=3306
[User]
UI=root

USUARIO.EXCLUIDOS 22/08/2007 09:49:05
#231992
valew WWWHSD, o arquivo ini ficou certo agora,
no meu caso:

[IP]
server=192.168.100.1
[BD]
database=base_demo


Eu estava mesmo, com problema de Ler a função, de tanto tentar consegui, vou postar como ficou a chamada:

Public Sub MinhaConexao()

Dim BD, IP As String

[IP] = ReadINI("C:\config.ini", "IP", "server", "")
[BD] = ReadINI("C:\config.ini", "BD", "database", "")

If Server = "Demo" Then

Set Conexao = New ADODB.Connection
Conexao.Open "DRIVER={MySQL ODBC 3.51 Driver};" & _
"uid=root;port=3306;pwd=minhasenha;server=192.168.0.1;" & IP & "database=" & BD

ElseIf Server = "Nome" Then
' ..........
End If

' ...........

End Sub


muito obrigado pela força!
Grande Abraço,

Tópico encerrado , respostas não são mais permitidas