Jump to content
Fivewin Brasil

Gravar caracteres epeciais no SQL


Jmsilva

Recommended Posts

Olá Pessoal, preciso de ajuda....talvez o VAILTOM pode me dar uma dica.

Tenho um arquivo DBF que alguns campos criptografados, logo tem diversos caracteres epeciais, na rotina de conversão do DBF para MySQL apresenta erro devido a esses caracteres epeciais, no cmd "INSERT INTO...." do SQL.

Fiz um teste com o executável DBF2SQL do VAILTOM gravou corretamente ou seja no MySQL ficou idêntico ao DBF.

Alguém pode me dar uma dica.

Obrigado

xHarbour/Fivewin

Link to comment
Share on other sites

Olá Pessoal, preciso de ajuda....talvez o VAILTOM pode me dar uma dica.

Tenho um arquivo DBF que alguns campos criptografados, logo tem diversos caracteres epeciais, na rotina de conversão do DBF para MySQL apresenta erro devido a esses caracteres epeciais, no cmd "INSERT INTO...." do SQL.

Fiz um teste com o executável DBF2SQL do VAILTOM gravou corretamente ou seja no MySQL ficou idêntico ao DBF.

Alguém pode me dar uma dica.

Obrigado

xHarbour/Fivewin

Link to comment
Share on other sites

Olá

Use a função any2sql() que o vailton disponibiliza na SqlLib. Ela faz a correção dos caracteres (colocando as barras e fixando o próximo caractér) fazendo com que o MySQL coloque aceite igualzinho o que está no DBF.

Um abraço,

Alexandre Pereira

fwh 10.02, xharbour 1.21, PellesC, xDev, SqlLib, Ubuntu 10.04 (mais bão também)

msn: alexpdasilva6@hotmail.com

Belo Horizonte/MG

Link to comment
Share on other sites

Olá Amigo, obrigado pela dica.....

Fiz alguns testes com SQLLIB mas não obtive sucesso, qdo compilo gera o erro abaixo.

Error: Unresolved external '_hb_set' referenced from C:\SQLLIB\LIB\SQLLIB_XHB_V1.2.1_REV.6406.LIB|sqllib_api

0 Files, 0 Warnings, 1 Errors

Uso xHarbour 1.2.1

Link to comment
Share on other sites

Olá pessoal, parece que a solução não é de domínio amplo do pessoal, apenas o Alexandre contibuiu, obrigado!.

Fiz umas consultas e testes, parece que resolvi!

O SQL usa "\" reconhecer o caracter especiais sem apresentar erros. Como uso a Classe TMySQLServer() da lib TMySQL.LIB, tem uma função DATATOSQL(cString) faz a correção da string compatibilizando com o SQL.

Se alguém gostou da dica.....poste uma msg......

Link to comment
Share on other sites

Em MySQL você tem que 'escapar' a string. Em muitas linguagens a barra invertida (backslash) tem essa função. Não falei sobre isso porque já tinham postado a dica do 'Any2SQL'.

Se você for no manual de referência do MySQL, encontrará a função mysql_escapestring (acho que é isso) que tem essa finalidade.

=)

Luis Fernando Jr. (Luisão)

Leme/SP

--

"Death smiles at us all. All a man can do is smile back"

FWH8.01 + SQLLIB 1.9d + xHB 1.10 + xDev 0.65 + @SAY + [Ghost/Java]Script

E-Mail: juninho.luisao@gmail.com

MSN: juninho_luisao@hotmail.com

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...