Jmsilva Posted July 21, 2010 Report Share Posted July 21, 2010 Olá pessoal, preciso de mais uma ajuda... A rotina abaixo, grava em um campo MEMO do DBF sem problemas mas não consigo gravar MySQL. Alguém tem a solução? #include "FiveWin.ch" INIT function Main() local cStr,cQry ,oServer LOCAL cHost := "127.0.0.1" //ou "localhost" LOCAL cUser := "root" LOCAL cPsw := "" LOCAL nPort := 3306 LOCAL cDb2 := "dbfoto" local hBmp := ReadBitmap( 0, "FOTO.BMP" ) cStr := BmpToStr( hBmp ) //estabelece a conexão oServer:= TMySQLServer():New( cHost, cUser, cPsw, nPort ) //abre o banco de dados IF !oServer:SelectDb(cDb2) //abre o banco de dados MsgStop("Banco de Dados "+cDB2+" não existe. VerIFique!") RETURN .F. ENDIF //tratamento de caracteres especiais para sql cSTR := DATATOSQL(cSTR) IF !oServer:Execute('set global max_allowed_packet = 16777216') MSGINFO("Erro na execução do variável global") ENDIF cQry := "INSERT INTO RF2010 (imgrf) value('"+Cstr+"')" IF !oSERVER:EXECUTE(cQRY) MSGSTOP(oSERVER:ERROR()) ENDIF oSERVER:DESTROY() DeleteObject( hBmp ) return nil O Erro apresentado é o seguinte: DATA TOO LONG FOR COLUMN IMGRF AT ROW 1. AGRADEÇO AJUDA.... FIVEWIN+XHARBOUR. Caraguatatuba/SP Quote Link to comment Share on other sites More sharing options...
Jmsilva Posted July 21, 2010 Author Report Share Posted July 21, 2010 Olá pessoal, preciso de mais uma ajuda... A rotina abaixo, grava em um campo MEMO do DBF sem problemas mas não consigo gravar MySQL. Alguém tem a solução? #include "FiveWin.ch" INIT function Main() local cStr,cQry ,oServer LOCAL cHost := "127.0.0.1" //ou "localhost" LOCAL cUser := "root" LOCAL cPsw := "" LOCAL nPort := 3306 LOCAL cDb2 := "dbfoto" local hBmp := ReadBitmap( 0, "FOTO.BMP" ) cStr := BmpToStr( hBmp ) //estabelece a conexão oServer:= TMySQLServer():New( cHost, cUser, cPsw, nPort ) //abre o banco de dados IF !oServer:SelectDb(cDb2) //abre o banco de dados MsgStop("Banco de Dados "+cDB2+" não existe. VerIFique!") RETURN .F. ENDIF //tratamento de caracteres especiais para sql cSTR := DATATOSQL(cSTR) IF !oServer:Execute('set global max_allowed_packet = 16777216') MSGINFO("Erro na execução do variável global") ENDIF cQry := "INSERT INTO RF2010 (imgrf) value('"+Cstr+"')" IF !oSERVER:EXECUTE(cQRY) MSGSTOP(oSERVER:ERROR()) ENDIF oSERVER:DESTROY() DeleteObject( hBmp ) return nil O Erro apresentado é o seguinte: DATA TOO LONG FOR COLUMN IMGRF AT ROW 1. AGRADEÇO AJUDA.... FIVEWIN+XHARBOUR. Caraguatatuba/SP Quote Link to comment Share on other sites More sharing options...
Jmsilva Posted July 21, 2010 Author Report Share Posted July 21, 2010 Problema resolvido, foi so mudar o tipo de campo de TEXT para LONGTEXT. Não sei se é a solução ideal mas resolveu.... 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.