DELIMITER MYSQL

G2SIS 05/10/2010 20:49:07
#354497
Boa noite pessoal, tô precisando de uma força aqui.

quando o meu sistema é iniciado pela primeira vez, ele deve executar um script para criar o banco de dados em MySql. Quando o banco estava mais simples, blz, pq eu usava um
 comando = split (script, [Ô];[Ô])
com um loop tipo
CnSql.Execute comando(i)

. Fica bacana com um progressbar.
Agora eu implementei stored procedures no banco de dados, mas para criá-las eu tenho que mudar o delimiter.
Isso eu até tratei na hora de ler o script, mas quando chega no momento
CnSql.Execute [Ô]Delimiter ;;[Ô]
o mysql retorna erro 1064 [Ô]You have a error in your SQL sintax (...) near [ô]Delimiter[ô]

alguém já passou por isso?
RFTD 06/10/2010 11:27:04
#354532
Eu sempre coloco assim minhas procedures.


DELIMITER |

[Ô]Aqui coloco o codigo da procedure[Ô]

DELIMITER ;
G2SIS 06/10/2010 15:06:28
#354551
Citação:

:
Eu sempre coloco assim minhas procedures.


DELIMITER |

[Ô]Aqui coloco o codigo da procedure[Ô]

DELIMITER ;




ok vou tentar isso qdo chegar.

mas a questão aqui é: estou criando o banco de dados via conexão OLEDB. se eu for pelo prompt de comando ou pelo heidsql por exemplo, não dá problema algum. mas qdo eu uso CnSql.Execute [Ô]Delimiter ;;[Ô] ou [Ô]CnSql.Execute $$[Ô] ou outro caracter por delimiter, tenho como retorno o erro citado.
G2SIS 08/10/2010 14:29:27
#354711
Como imaginava.... erro 1064

Uma coisa que eu não fiz ainda foi passar a instrução para criar a procedure sem o delimiter. Não posso afirmar que a conexão ODBC já trate o delimiter, mas é um teste que vou fazer.

E quanto ao caracter usado como delimiter, independetemente do caracter que é usado ao criar a procedure, o MySqlDump cria o arquivo de bacjup com delimiter [Ô];;[Ô].



Vamos em frente.
G2SIS 11/10/2010 10:43:18
#354823
pessoal, já estou sem idéias.

Não há uma maneira de criar as procedures pela minha coneão?

Vou ter que usar o mysqldump para criar o banco de dados com o script?

G2SIS 16/10/2010 16:35:15
#355239
é isso aí pessoal. a única maneira que encontrei foi usar o comando source [ô]arquivo.sql[ô]. não é exatamente o que queria mas funciona.
Tópico encerrado , respostas não são mais permitidas