ecmsoft Posted November 17, 2005 Report Share Posted November 17, 2005 Olá, Estou tendo problemas em fazer com que o xHarbour reconheça a tabela de caracteres do Servidor MySQL (5.0), portanto quando preencho um campo com caractere acentuado, dá o seguinte erro: Error description: Warning SQLLIB/1000 MySQL RDD: Data too long for column 'NOMFUNC' at row 1 Uso a versão FREE da SQLLIB ECM SISTEMAS Marciano Queiroz Teixeira de Freitas-Ba ecmsoft.tx@ig.com.br FW 2.6 + xHarbour 0.99.4 Quote Link to comment Share on other sites More sharing options...
ecmsoft Posted November 17, 2005 Author Report Share Posted November 17, 2005 Olá, Estou tendo problemas em fazer com que o xHarbour reconheça a tabela de caracteres do Servidor MySQL (5.0), portanto quando preencho um campo com caractere acentuado, dá o seguinte erro: Error description: Warning SQLLIB/1000 MySQL RDD: Data too long for column 'NOMFUNC' at row 1 Uso a versão FREE da SQLLIB ECM SISTEMAS Marciano Queiroz Teixeira de Freitas-Ba ecmsoft.tx@ig.com.br FW 2.6 + xHarbour 0.99.4 Quote Link to comment Share on other sites More sharing options...
ecmsoft Posted November 17, 2005 Author Report Share Posted November 17, 2005 Olá, Estou tendo problemas em fazer com que o xHarbour reconheça a tabela de caracteres do Servidor MySQL (5.0), portanto quando preencho um campo com caractere acentuado, dá o seguinte erro: Error description: Warning SQLLIB/1000 MySQL RDD: Data too long for column 'NOMFUNC' at row 1 Uso a versão FREE da SQLLIB ECM SISTEMAS Marciano Queiroz Teixeira de Freitas-Ba ecmsoft.tx@ig.com.br FW 2.6 + xHarbour 0.99.4 Quote Link to comment Share on other sites More sharing options...
ecmsoft Posted November 17, 2005 Author Report Share Posted November 17, 2005 E aà ? ECM SISTEMAS Marciano Queiroz Teixeira de Freitas-Ba ecmsoft.tx@ig.com.br FW 2.6 + xHarbour 0.99.4 Quote Link to comment Share on other sites More sharing options...
pauloaraujo Posted November 17, 2005 Report Share Posted November 17, 2005 Marciano, tudo bem?? Não trabalho com xHarbour nem SQL. Mas, como não tenho medo de falar besteira, vai lá: Tente colocar uma MSG da vida para te mostrar o tamanho do que está sendo digitado. Como disse, não trabalho com SQL, mas acho ilógico algo que, pelo simples fato de estar acentuado, mude o tamanho de LEN(ALLTRIM(cVar)). A mensagem de erro indica que algum limite de tamanho foi ultrapassado. Espero ter ajudado Paulo Araújo Clipper53b/FW26/Blinker70 PRESTIGIEM O III ENCONTRO DE USUÃRIOS DE FIVEWIN - 2005 Inscreva-se: http://www.installsis.com.br/encontro Endereço: Rua José de Andrade, 508 - Centro Guarulhos - SP Tel: (11) 6463-9000 Quote Link to comment Share on other sites More sharing options...
ecmsoft Posted November 17, 2005 Author Report Share Posted November 17, 2005 Paulo, valeu a tentativa, mas não é isso não ! ECM SISTEMAS Marciano Queiroz Teixeira de Freitas-Ba ecmsoft.tx@ig.com.br FW 2.6 + xHarbour 0.99.4 Quote Link to comment Share on other sites More sharing options...
pauloaraujo Posted November 17, 2005 Report Share Posted November 17, 2005 Desculpe-me a teimosia: "Data too long for column 'NOMFUNC' at row 1" Dados muito longos para coluna 'NOMFUNC' na linha 1. Ou a mensagem de erro está certa ou é BUG. AÃ........... Paulo Araújo Clipper53b/FW26/Blinker70 PRESTIGIEM O III ENCONTRO DE USUÃRIOS DE FIVEWIN - 2005 Inscreva-se: http://www.installsis.com.br/encontro Endereço: Rua José de Andrade, 508 - Centro Guarulhos - SP Tel: (11) 6463-9000 Quote Link to comment Share on other sites More sharing options...
ecmsoft Posted November 17, 2005 Author Report Share Posted November 17, 2005 Caro amigo Paulo, realmente, se formos analisar pela mensagem de erro, não teria dúvidas ! Mas o problema é que o SQL retorna esta mensagem para este tipo de erro, sendo que na verdade o erro não é esse! Já constatei, o problema está na tabela de caracteres, só preciso saber como configurá-la dentro do programa para ler do Servidor MySQL. ECM SISTEMAS Marciano Queiroz Teixeira de Freitas-Ba ecmsoft.tx@ig.com.br FW 2.6 + xHarbour 0.99.4 Quote Link to comment Share on other sites More sharing options...
vailtom Posted November 18, 2005 Report Share Posted November 18, 2005 Bom dia! Por favor, envie um pequeno exemplo que demonstre o problema para suporte@sqllib.com.br, assim poderemos trabalhar em cima disto com mais rapidez. O seu banco de dados está usando qual CHARSET? Vailton Renato SQL LIB, MyMake & xDev Developer MSN: renato@kssoftware.com.br PRESTIGIEM O III ENCONTRO DE USUÃRIOS DE FIVEWIN - 2005 Quote Link to comment Share on other sites More sharing options...
ecmsoft Posted November 18, 2005 Author Report Share Posted November 18, 2005 //Exemplo de como estou usando para gravar um registro: Abretabela("cadcart","",2,) sql_cmd = "INSERT INTO cadcart (CODIGO,NOME) VALUES ('"+cCodigo+"','"+cNome+"')" SQL EXECUTE sql_cmd disconectar(hConexao) // Quando a variavel cNome vai com algum caractere acentuado, dá pau ! // O Servidor MySQL esta configurado para o CHARSET "latin7" // No utilitário MYSQL-FRONT, ele captura esta tabela de caractere e aceita acento. Quado eu mudo para "latin1", o MYSQL-FRONT tambem dá pau ! //--------------------------------------------------------------------------------------------// Function Abretabela(cTabela,cOrder,nArea,sqL_cmdx) Local sql_cmd hconexao = Conectar() if !empty(sql_cmdx) sql_cmd=sql_cmdx else sql_cmd="SELECT * FROM "+cTabela+iF(!Empty(cOrder)," ORDER BY '"+cOrder+"'","") endif Select &nArea USE SQL sql_cmd alias &cTabela via [mysql] // Envieu e-mail para suporte@sqllib.com.br ECM SISTEMAS Marciano Queiroz Teixeira de Freitas-Ba ecmsoft.tx@ig.com.br FW 2.6 + xHarbour 0.99.4 Quote Link to comment Share on other sites More sharing options...
kapiaba Posted November 18, 2005 Report Share Posted November 18, 2005 experimente usar um ALLTRIM para retirar os BRANCOS. e veja tambem, se voce consegue usar os COMANDOS OemToAnsi e AnsiToOem Para Tranformar a acentuação... TERCEIRO ENCONTRO DE FIVEWINNERS NOVEMBRO DE 2005 EU APOIO E VOU. Bad Boy - São Paulo. kmt_karinha@pop.com.br FW 2.3C CLIPPER 5.3B BLINKER 7.0 WORKSHOP.EXE Editado por - kapiaba on 18/11/2005 10:26:49 Quote Link to comment Share on other sites More sharing options...
vailtom Posted November 18, 2005 Report Share Posted November 18, 2005 Olá, bom dia! Veja bem, testei os comandos abaixo com o MySQL versão 5.0.15 (*ultima disponivel no site*) e tb no 4.1.x. Eu consegui rodar o seguinte exemplo: // Cria a variavel com o nome incluindo um caracter especial o "'"... cNome := "João José Cristóvão 'da Cunha Pimenta" /* Se vc está usando SQL EXEC, deve converter os valores caracteres utilizando a função, ANY2SQL abaixo. No evento estarei falando sobre as melhorias da nova versão e como não será necessário mais isto. */ qout( cNome, ANY2SQL( cNome ),any2sql(date()) ) use sanven goto 23 ? recno(), lastrec(), nome wait replace nome with cNome ? recno(), lastrec(), nome wait quit Rodou blz. Veja se estás com a DLL Client do MySQL correta. Se nao conseguir rodar os codigos em questão, posta msg pra gente ver oq mais pode ser, blz? Vailton Renato SQL LIB, MyMake & xDev Developer MSN: renato@kssoftware.com.br PRESTIGIEM O III ENCONTRO DE USUÃRIOS DE FIVEWIN - 2005 Quote Link to comment Share on other sites More sharing options...
ecmsoft Posted November 18, 2005 Author Report Share Posted November 18, 2005 Vailton, Estou usando a DLL: C:\mysql\mysql server 5.0\opt\libmysql.dll (1.412kb 22/09/2005) Transformei a LIB:LIBMYSQL.LIB com esta DLL, e compilei. A função ANY2SQL() não resolvel porque eu já estava usando o caracter " ' ". Como estou usando a SQLLIB FREE não consigo usar: RREPLACE...WITH... Tive que usar a funcao RemoverAcento() nas variaveis caractere, antes de gravar. ECM SISTEMAS Marciano Queiroz Teixeira de Freitas-Ba ecmsoft.tx@ig.com.br FW 2.6 + xHarbour 0.99.4 Quote Link to comment Share on other sites More sharing options...
ecmsoft Posted November 18, 2005 Author Report Share Posted November 18, 2005 Vailton, veja bem ! 1) o MySQL-FRONT reconhece a tabela de caracteres 2) o DBF2MYSQL (conversor) não reconhece a tabela 3) o meu programa não reconhece a tabela ECM SISTEMAS Marciano Queiroz Teixeira de Freitas-Ba ecmsoft.tx@ig.com.br FW 2.6 + xHarbour 0.99.4 Quote Link to comment Share on other sites More sharing options...
vailtom Posted November 19, 2005 Report Share Posted November 19, 2005 Me passe o .SQL completo da sua tabela (ou de uma pequena) como exemplo para suporte@sqllib.com, por favor. Vailton Renato SQL LIB, MyMake & xDev Developer MSN: renato@kssoftware.com.br PRESTIGIEM O III ENCONTRO DE USUÃRIOS DE FIVEWIN - 2005 Quote Link to comment Share on other sites More sharing options...
eajunior Posted November 19, 2005 Report Share Posted November 19, 2005 Ola Marciano, tem como postar função removeacento() pois preciso de uma função desta para imprimir ns Tdosprn() Onde você vê um obstáculo alguém vê o término da viagem e o outro vê uma chance de crescer. Elias Abrão Júnior Fone : (0**11) 5181-6909 São Paulo - SP eajunior.fw@terra.com.br xHarbour 0.99.0 - Fivewin 2.5 e xMate Quote Link to comment Share on other sites More sharing options...
ecmsoft Posted November 19, 2005 Author Report Share Posted November 19, 2005 Olá Elias, Baixe em: http://geocities.yahoo.com.br/marcosgambeta/harbour/0006.html ECM SISTEMAS Marciano Queiroz Teixeira de Freitas-Ba ecmsoft.tx@ig.com.br FW 2.6 + xHarbour 0.99.4 Quote Link to comment Share on other sites More sharing options...
Marca Posted November 21, 2005 Report Share Posted November 21, 2005 Olá Elias Utilize assim ou crie uma funcao p. retirar os acentos METHOD Say(nRow, nCol, cText, lAToO) CLASS TDosPrn DEFAULT lAToO := ::lAnsiToOem cText := StrTran(cText,"À","a") cText := StrTran(cText,"ã","a") cText := StrTran(cText,"à ","a") cText := StrTran(cText,"á","a") cText := StrTran(cText,"ª","a") cText := StrTran(cText,"â","a") cText := StrTran(cText,"¦","a") cText := StrTran(cText,"è","e") cText := StrTran(cText,"é","e") cText := StrTran(cText,"ê","e") cText := StrTran(cText,"ì","i") cText := StrTran(cText,"Ã","i") cText := StrTran(cText,"î","i") cText := StrTran(cText,"ò","o") cText := StrTran(cText,"§","o") cText := StrTran(cText,"õ","o") cText := StrTran(cText,"ó","o") cText := StrTran(cText,"º","o") cText := StrTran(cText,"ô","o") cText := StrTran(cText,"õ","o") cText := StrTran(cText,"ø","o") cText := StrTran(cText,"ù","u") cText := StrTran(cText,"ú","u") cText := StrTran(cText,"ü","u") cText := StrTran(cText,"û","u") cText := StrTran(cText,"ç","c") cText := StrTran(cText,"Ã","A") cText := StrTran(cText,"À","A") cText := StrTran(cText,"Ã","A") cText := StrTran(cText,"Â","A") cText := StrTran(cText,"È","E") cText := StrTran(cText,"É","E") cText := StrTran(cText,"Ê","E") cText := StrTran(cText,"ÃŒ","I") cText := StrTran(cText,"Ã","I") cText := StrTran(cText,"ÃŽ","I") cText := StrTran(cText,"Ã’","O") cText := StrTran(cText,"Õ","O") cText := StrTran(cText,"Ó","O") cText := StrTran(cText,"Ô","O") cText := StrTran(cText,"Ù","U") cText := StrTran(cText,"Ú","U") cText := StrTran(cText,"Ãœ","U") cText := StrTran(cText,"Û","U") cText := StrTran(cText,"Ç","C") cText := StrTran(cText,"«"," ") cText := StrTran(cText,"®"," ") cText := StrTran(cText,"ö"," ") cText := StrTran(cText,"ü"," ") cText := StrTran(cText,"Â"," ") cText := StrTran(cText,"¬"," ") cText := StrTran(cText,"¯"," ") cText := StrTran(cText,"ý"," ") ::SetCoors(nRow, nCol) ::Write(cText, lAToO) RETURN NIL Um abraço Marcelo Ferro Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.