VB6 / MYSQL 5.1 / CRYSTAL 8.5
Alguem já consegui aplicar as ROUTINES (procedures) do MySQL no VB6?
Estou com um problemão!
A empresa esta migrando de SQL Server 2000 para MySQL 5.1 porem as ROUTINES não estão rodando mais.
Baixei o manual do Site da MySQL porém não ajudou, o vb não aceitou os comandos que passei para chamar a routine:
set rs = sp_carregaCliente (98)
nem assim
set rs = sp_carregaCliente 98
nem assim
set rs = sp_carregaCliente ([Ô]98[Ô])
No manual fala para usar
CALL [Ô]nome_routines[Ô] (parametros)
Porem não dá o RETURN no Recordset.
Alguém pode me ajudar ????
Estou com um problemão!
A empresa esta migrando de SQL Server 2000 para MySQL 5.1 porem as ROUTINES não estão rodando mais.
Baixei o manual do Site da MySQL porém não ajudou, o vb não aceitou os comandos que passei para chamar a routine:
set rs = sp_carregaCliente (98)
nem assim
set rs = sp_carregaCliente 98
nem assim
set rs = sp_carregaCliente ([Ô]98[Ô])
No manual fala para usar
CALL [Ô]nome_routines[Ô] (parametros)
Porem não dá o RETURN no Recordset.
Alguém pode me ajudar ????
SQL Server para MySQL??? Isso é downgrade...
e seria algo assim:
dim cn = new adodb.connection
set cn = new adodb.connection
cn.open [Ô]connection string para seu banco[Ô]
dim rs = adodb.recordset
set rs = new adodb.recordset
rs.open [Ô]call sp_carregacliente ([ô]99999[ô])[Ô], cn
dim cn = new adodb.connection
set cn = new adodb.connection
cn.open [Ô]connection string para seu banco[Ô]
dim rs = adodb.recordset
set rs = new adodb.recordset
rs.open [Ô]call sp_carregacliente ([ô]99999[ô])[Ô], cn
Obrigado pela atenção mas isso não é aceito.
veja...
veja...
Para executar procedures, no Oracle, eu faço assim:
Conexao.Execute([Ô]NOME_DA_PROCEDURE(PARAMETROS)[Ô])
Coloco só o nome da procedure e os parâmetros. Tente colocar o Call ou Exec antes do nome da procedure.
Conexao.Execute([Ô]NOME_DA_PROCEDURE(PARAMETROS)[Ô])
Coloco só o nome da procedure e os parâmetros. Tente colocar o Call ou Exec antes do nome da procedure.
Eric o Kerplunk escreveu assim:
rs.open [Ô]call sp_carregacliente ([ô]99999[ô])[Ô], cn
e não como você fez:
Set rs = call......
Porém acho que a dica do MSMJUDAS parece mais eficaz usando cn.Ececute(.....
rs.open [Ô]call sp_carregacliente ([ô]99999[ô])[Ô], cn
e não como você fez:
Set rs = call......
Porém acho que a dica do MSMJUDAS parece mais eficaz usando cn.Ececute(.....
Citação::
Para executar procedures, no Oracle, eu faço assim:
Conexao.Execute([Ô]NOME_DA_PROCEDURE(PARAMETROS)[Ô])
Coloco só o nome da procedure e os parâmetros. Tente colocar o Call ou Exec antes do nome da procedure.
Faz como o amigo MSMJUDAS postou que da certo....
Citação::
SQL Server para MySQL??? Isso é downgrade...
Downgrade ??!!, isso é muito relativo, poderia estar migrando de MySQL para MS SQL que mesmo assim não seria UPGRADE....
As vezes a marreta de um não é tão eficas quanto o martelo do outro....ou seja, tudo é questão de conhecimento da ferramenta, bem como da capacidade que cada ferramenta tem em se adaptar ao seu serviço......
Mas Downgrade , acho que não seria a palavra ou termo apropriado para quem migra de MS SQL para MySQL e vice-versa......
Sim LUIS HERRERA eu sei.
Porem nem um nem outro funfou.
E eu preciso setar o recordset.
Quando ao amigo MSMJUDAS só vou conseguir testar na segunda feira, mas agradeço a todos.
Abrigado.
Porem nem um nem outro funfou.
E eu preciso setar o recordset.
Quando ao amigo MSMJUDAS só vou conseguir testar na segunda feira, mas agradeço a todos.
Abrigado.
Grato amigos.
Mas não funcionou.
Vou fechar o tópico e tetar resolver de outra forma.
Caso ou descubra como setar um recordset direto com uma Routine eu aviso.
Mas não funcionou.
Vou fechar o tópico e tetar resolver de outra forma.
Caso ou descubra como setar um recordset direto com uma Routine eu aviso.
Tópico encerrado , respostas não são mais permitidas