USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  MySql
RDM.TECNOLOGIA
SÃO PAULO
SP - BRASIL
ENUNCIADA !
Postada em 15/02/2008 12:19 hs            
Pessoal eu estou tentando dar Update em uma tabela no MySql e esta dando o erro abaixo:

-----------------------------------------------------
Run-Time error '-2147467259 (80004005)':

[Microsoft][ODBC Driver Manager] Comprimento inválido de seqüencia decaracteres ou de buffer
----------------------------------------------------


porque será que esta dando este erro?

estou utilizando o codigo abaixo:

-------------- para conectar no banco mysql -----------------

Set conn = New ADODB.Connection
conn.ConnectionString = "DSN=syscar"
conn.Open ConnectionString


------------------ para cadastrar um cliente na tabela cliente no mysql ------------

Dim MySqlCadCli As String

        Set AsysRsCadCli = New ADODB.Recordset

        MySqlCadCli = "SELECT * FROM cliente"

        AsysRsCadCli.Open MySqlCadCli, conn, adOpenKeyset, adLockOptimistic

        AsysRsCadCli.AddNew
        AsysRsCadCli!cod_cliente = Me.asys_txt_cod_cli.Text
        AsysRsCadCli!nome = Me.asys_txt_nome.Text
        AsysRsCadCli!rg = Me.asys_msk_rg.Text
        AsysRsCadCli!cpf = Me.asys_msk_cpf.Text
        AsysRsCadCli!data_nascimento = Me.asys_msk_data_nasc.Text
        AsysRsCadCli!endereco = Me.asys_txt_endereco.Text
        AsysRsCadCli!numero = Me.asys_txt_numero.Text
        AsysRsCadCli!bairro = Me.asys_txt_bairro.Text
        AsysRsCadCli!cidade = Me.asys_txt_cidade.Text
        AsysRsCadCli!cep = Me.asys_msk_cep.Text
        AsysRsCadCli.Update
   
Treze
Pontos: 2843 Pontos: 2843
SÃO VICENTE
SP - BRASIL
ENUNCIADA !
Postada em 15/02/2008 14:42 hs            
ACHO MELHOR CONECTAR-ME DESTE JEITO

"DRIVER={MySQL ODBC 3.51 Driver};" _
         & "SERVER=192.168.0.41;" _
         & "DATABASE=Dados;" _
         & "UID=root;" _
         & "PWD=;" 
            para isso vc precisa baixar o drive odbc em
http://www.mysql.com/downloads/api-myodbc-3.51.html
 
 
TÓPICO EDITADO
 
Treze
Pontos: 2843 Pontos: 2843
SÃO VICENTE
SP - BRASIL
ENUNCIADA !
Postada em 15/02/2008 16:08 hs            
Eis minha conexão completa
primeiro faço referência a Microsoft ActiveX Data Object 2.8 Library
 
' no módulo
 
Dim USER As String
Dim SENHA As String
Dim PORTA As String
Dim BD As String
 
Public CON As ADODB.Connection
Public RS As ADODB.Recordset
 
Public Sub AbriConexao()
Dim CON_STR As String
Set CON=New Connection
BD="nome do danco de dados"
PORTA="3306"
USER="root"
SENHA="sua senha"
 
CON_STR="DRIVER={MySQL ODBC 3.51 DRIVER};" _
& "Port=" & PORTA & ";" _
& "Datbase=" & BD & ";" _
& "UID=" & USER & ";" _
& "PWD=" & Senha
 
With CON
.Cursorlocation=adUseCliente
.ConnectionString=CON_STR
.Open CON_STR
End Wtih
 
End Sub
 
' Esta é a forma que me conecto
' agora como faço para inserir novos Dados
' neste exemplo estou supondo que exista uma tabela com os seguintes Campos:
' ( NOME, NASC, SEXO)
 
Public Function Inserir (ByVal Nome As String, Nasc As String, Sexo As String) _
As Variant
CON.Execute ("INSERT INTO Cadastro (Nome, Nasc, Sexo)" _
& " Values('" & Nome & "','" & Nasc & "','" & Sexo & "')")
 
Inserir=True
End Function
 
' No Form
 
' Código do botão incluir
 
Private Sub BtnIncluir_Click()
Dim Novo As Variant
Novo=Inserir (Txtnome.text,Txtnasc.text,CmbSexo.text)
end sub
 
este foi apenas um pequeno auxilio espero que a partir dai você se encontre.
 
um abraço
 
até
 
 
TÓPICO EDITADO
 
KoRn
Pontos: 2843
SAO PAULO
SP - BRASIL
Postada em 15/02/2008 16:10 hs            
eusempre ponho esse tipo de resposta pra Mysql , espero que ajude tbm amigo
 
Caso já tenha uma base access esse vai te ajudar a converter para MySQL
http://superdownloads.uol.com.br/download/64/access-to-mysql/
Depois instale o Servidor MySQL, em seguida instale o driver de ODBC acima, depois para acessar dados e fazer consultas e etc no BD use ADO igual ao exemplo abaixo:
Lembre-se de entrar na tela de references (Projects->References) e selecionar a opção "Microsoft ActiveX Data Objects 2.1 Library"
SERVIDOR = "Localhost"
BASEDEDADOS = "teste"
USUARIO = "root"
SENHA = "159753"
'String de conexão para abertura de conexão
CONEXAO.Open "Driver={MySQL ODBC 3.51 Driver};Server=" & SERVIDOR & ";Database=" & BASEDEDADOS & ";User=" & USUARIO & ";Password=" & SENHA & ";Option=3;"
     
Treze
Pontos: 2843 Pontos: 2843
SÃO VICENTE
SP - BRASIL
Postada em 15/02/2008 16:32 hs            
Ao tentar se conectar a uma base de dados Access 2000 usando o controle Data Control ou o assistente - Form Wizard - você pode se deparar com uma das seguintes mensagens de erro :

a-) Se você estiver usando ADO com o provedor : Microsoft.Jet.OLEDB.3.5.1.Provider

- Run-time error 3343 - Unrecognized Database Format '..ome_do_banco_de_dados.mdb

b-) Se você estiver usando DAO com Microsoft DAO 3.51 Object Library

- Run-time error -2147467259 - Unrecognized Database Format '..ome_do_banco_de_dados.mdb

Por quê ?

Elementar meu caro amigo !!!

- O Data Control usa a versão 3.51 da DAO - Data Access Object - para fazer a conexão com um banco de dados Access , usa portanto o Jet 3.51.

- O assistente - Form Wizard - usa o Jet 3.51 OLE DB Provider para fazer a conexão , e , portanto , também usa o Jet 3.51.

Acontece que a versão 3.51 do Jet engine NÃO CONSEGUE fazer a conexão com o formato de banco de dados do Access 2000 somente com versões anteriores.

O Access 2000 e 2002 usam a versão Jet 4.0 que cria arquivos de banco de dados no formato do Jet 4.0 . O jet 3.51 não reconhece este formato.

Como Resolver o Problema ?

Você pode contornar o problema usando uma das seguintes técnicas :

1- Instale o Visual Studio Service Pack 6 ou superior. Após a instalação a opção - Access 200 - será incluida na propriedade Connect. (se você estiver usando o Data Control , muda a propriedade Connect para Access 2000 .)

2- Para ADO ou para ADo Data Control , use o provedor - Microsoft.Jet.OLEDB.4.0.1.

3- Se você estiver usando um Data Control genérico , você precisa abrir um recordset usando a DAO 3.6 e atribuí-lo a fonte de dados dos controles conforme abaixo :

Option Explicit
Private DaoDB36 as DataBase
Private rs As Recordset
Dim caminho as String

Private Sub Form_Load()

  caminho = "c: esteNorthwind.mdb"

  Set daoDB36 = DBEngine(0).OpenDataBase(caminho)
  Set rs = daoDB36.OpenRecordset("Clientes")
  Set Data1.Recordset = rs

End Sub

obs: Para saber qual versão do service pack você tem instalada verifique a informação no menu Help opção About...
 
dica instale a SP6 do visual basic 6
 
retirado a sessão de dicas deste site
TÓPICO EDITADO
   
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2025   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página