Boa tarde
O trecho abaixo ao ser executado, esta retornando erro Genérico de truncamento, inclusive até eu fixando um valor de apenas um caractere para efeito de testes conforme mostrado abaixo.
Code:
Procedure pManterDados_PTC_Company String sIDConexaoSQL tDados_PTC_Company vtDados_PTC_Company
Handle hoSQL hdbc hstmt
String sLinhaSQL
Integer iCNPJ iRazao iEndereco iNumero iCompl iCEP iCidade iUF iFone iEmail iCodSys
String[][] sRetornoSelect
Move "INSERT INTO ptc.PTC_Company" to sLinhaSQL
Move (sLinhaSQL*"(CNPJ, RazaoSocial, Endereco, Numero, Complemento, CEP, Cidade, UF, Fone, eMail, CodigoSistemaTogni)") to sLinhaSQL
Move (sLinhaSQL*"VALUES (?,?,?,?,?,?,?,?,?,?,?);") to sLinhaSQL
//*** Conectar ao Servidor de dados
Get Create U_cSQLHandleManager to hoSQL
Send SQLSetConnect of hoSQL "MSSQLDRV" ("DFCONNID="-Uppercase(sIDConexaoSQL))
Get SQLConnect of hoSQL "" "" to hdbc
If (hdbc<>0) Begin
Get SQLOpen of hdbc to hstmt
If (hstmt<>0) Begin
Send SQLPrepare of hstmt sLinhaSQL
Send SqlSetParameter of hstmt 1 "1" //(NFeRemoveSeparadores(vtDados_PTC_Company.sCNPJ))
Send SqlSetParameter of hstmt 2 "1" //(trim(vtDados_PTC_Company.sRazaoSocial))
Send SqlSetParameter of hstmt 3 "1" //(trim(vtDados_PTC_Company.sEndereco))
Send SqlSetParameter of hstmt 4 "1" //vtDados_PTC_Company.iNumero typeNumber
Send SqlSetParameter of hstmt 5 "1" //(trim(vtDados_PTC_Company.sComplemento))
Send SqlSetParameter of hstmt 6 "1" //(NFeRemoveSeparadores(vtDados_PTC_Company.sCEP))
Send SqlSetParameter of hstmt 7 "1" //(trim(vtDados_PTC_Company.sCidade))
Send SqlSetParameter of hstmt 8 "1" //(trim(vtDados_PTC_Company.sUF))
Send SqlSetParameter of hstmt 9 "1" //(trim(vtDados_PTC_Company.sFone))
Send SqlSetParameter of hstmt 10 "1" //(trim(vtDados_PTC_Company.seMail))
Send SqlSetParameter of hstmt 11 "1" //vtDados_PTC_Company.iCodigoSistemaTogni typeNumber
Send SQLExecute of hstmt sLinhaSQL
Send SQLClose of hStmt
End
Else Send Stop_Box "Falha ao abrir tabela no banco! Informe a TI" "Erro SQL"
Send SQLDisconnect of hdbc
End
Else Send Stop_Box "Falha ao conectar ao banco! Informe a TI" "Erro SQL"
Send Destroy of hoSQL
End_Procedure
O erro apresentado é o abaixo descrito:
Code:
C:\Sistema\Adm\Programs\ProjetoTeste.exe
Erro genérico. 22001 (0)--[Microsoft][ODBC Driver 17 for SQL Server]Truncamento Ó direita dos dados da cadeia de caracteres Connection handle = 1238, Statement handle = 1237
Erro: 12289
Fonte do erro = MSSQLDRV.ESQL.SQLExecute
MSG_SQLEXECUTE (6584) - oObject (1237) - at address 27173
MSG_PMANTERDADOS_PTC_COMPANY (12515) - oEnviarCotacaoPreco_BP (708) - at address 102285
GET_FCARREGARDADOSPORTAL (12523) - oEnviarCotacaoPreco_BP (708) - at address 103292
MSG_ONPROCESS (6170) - oEnviarCotacaoPreco_BP (708) - at address 102769
MSG_DOPROCESS (6171) - oEnviarCotacaoPreco_BP (708) - at address 23774
MSG_ENVIARCOTACAOSELECIONADOS (12545) - oPrincipal_CJGrid (823) - at address 104487
MSG_ONCLICK (4659) - oOk_BT (818) - at address 103977
MSG_COMMAND (648) - oOk_BT (818) - in native code
[start] - at address 104929
Acontece, que este bloco, além de outros semelhantes a este, estava funcionado até três dias atrás sem nenhum erro. Instalei o Dataflex 20.1 para usar com o módulo WEB que esta em desenvolvimento e o Dataflex 19.1 continua executando com nossos sistemas Windows. Foi a partir desta instalação que começou o erro. Já tentei desinstalar para averiguar se resolveria, mas sem resultado. Já tentei bastante coisa a nível de codificação, afim de tentar averiguar o porque. Já instalei o Microsoft ODBC Driver for SQL Server 17, 13, 12,etc.
Qualquer opinião será de muita ajuda.
Grato