marvi Postado Fevereiro 16, 2010 Denunciar Share Postado Fevereiro 16, 2010 Pessoal,Que erro é esse?Microsoft OLE DB Provider for ODBC Drivers error '80040e14' [Microsoft][ODBC SQL Server Driver][sql Server]Cannot create a row of size 8084 which is greater than the allowable maximum of 8060. /painel/noticiasatualizando.asp, line 30 executar= "update noticias set conteudo = '"&VarDesc&"',data = '"&vdata&"',fonte = '"&vfonte&"',titulo = '"&vtitulo&"' where codigo = "&id&""Linha 30: Set rsbusca=Conexao.Execute(executar)O campo do banco é nvarchar com 4000 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 DELPHI-Man32 Postado Fevereiro 16, 2010 Denunciar Share Postado Fevereiro 16, 2010 "Não é possível criar uma linha de tamanho de 8084, que é maior que o máximo permitido de 8060"não sei, mas pode ser tamanho do campo menor que o conteudo!dê uma olhada também no sql!executar= "update noticias set conteudo = '"&VarDesc&"',data = '"&vdata&"',fonte = '"&vfonte&"',titulo = '"&vtitulo&"' where codigo = "&id&"" separa os campos do update! executar= "update noticias set conteudo = '"& VarDesc &"', data = '"&vdata&"', fonte = '"&vfonte&"', titulo = '"&vtitulo&"' where codigo = "& id &"" Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 marvi Postado Fevereiro 16, 2010 Autor Denunciar Share Postado Fevereiro 16, 2010 Eu fiz que você falou, mas continua o erro.Sobre o conteudo, eu contei os caracters no Word e com espaço tem 2.645 e no campo do banco dar 4000Então o campo é maior que o conteudo, não? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Fevereiro 16, 2010 Denunciar Share Postado Fevereiro 16, 2010 marvi, qtos campos gdes assim tem na sua tabela??so um mesmo?? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 marvi Postado Fevereiro 16, 2010 Autor Denunciar Share Postado Fevereiro 16, 2010 (editado) Só um campo, o "conteudo" que tem 4000 na tabela, pois o resto tem no máximo 250 Editado Fevereiro 16, 2010 por marvi Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Fevereiro 16, 2010 Denunciar Share Postado Fevereiro 16, 2010 marvi, de teste, troque a linha:Set rsbusca=Conexao.Execute(executar) por: Response.Write(Len(executar))Response.End()[/code]ele deve escrever na tela o tamanho da sua query. ai poste ai qual o tamanho q ele mostrou pra gente ver se descobre o problema. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 marvi Postado Fevereiro 16, 2010 Autor Denunciar Share Postado Fevereiro 16, 2010 Certo, eu fiz e deu o número: 4248Acho que está maior que o campo que é 4000 no banco de dados SQL server 2000, isso? E agora? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Fevereiro 16, 2010 Denunciar Share Postado Fevereiro 16, 2010 então, acho q o problema não é nem o tamanho do campo e sim o tamanho da linha. uma linha de uma tabela do sql não pode ter mais q 8060 bytes (se não me engano, a partir do sql 2005 ai já pode). e se o campo é nvarchar, cada caracter ocupa 2 bytes. então se são 4000 caracteres, vai passar de 8000 bytes.o seu campo tem q ser nvarchar mesmo?? você vai armazenar caracteres unicode?? se não vai, então você poderia mudar pra varchar q ai os 4000 caracteres ocupariam somente 4000 bytes.outra opcao então, seria mudar para tipo text onde cabem acho q ate 1 giga de dados no caso de texto em unicode.faca outro, teste, troque a linha:Response.Write(Len(executar)) por Response.Write(Len(VarDesc))e veja o tamanho apenas do campo conteudo q você ta tentando gravar. se tiver mais de 4000 caracteres ai se for em unicode, não vai caber mesmo, você vai ter q mudar pra text. se não for em unicode, você pode mudar pra varchar q ai cabe ate 8000 caracteres. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 marvi Postado Fevereiro 16, 2010 Autor Denunciar Share Postado Fevereiro 16, 2010 Certo, vou fazer o teste.O tipo de campo eu quero um campo que permita texto, imagens e até html, pois uso o formulário Fckeditor.Aí ele tem formatação e tudo, como o formulário desse forum para postar dúvidas.Que tipo de campo posso usar para esse tipo de conteúdo?Sobre o Response.Write(Len(VarDesc)) deu o número: 4149 na variável VarDesc Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 marvi Postado Fevereiro 16, 2010 Autor Denunciar Share Postado Fevereiro 16, 2010 Pelo visto o tipo do campo é nvarchar 4000 e o conteudo está com mais de 4000, preciso achar uma maneira que o campo ganhe mais de 4000 ou outro tipo de campo que caiba mais linhas, algo assim, isso?Pois uso sql server 2000 e só no sql server 2005 tem um tal de nvarchar max que cabe mais, mas sql server 2000 não Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 marvi Postado Fevereiro 16, 2010 Autor Denunciar Share Postado Fevereiro 16, 2010 Coloquei varchar 4000 e deu esse erro:Microsoft OLE DB Provider for ODBC Drivers error '80040e57' [Microsoft][ODBC SQL Server Driver][sql Server]String or binary data would be truncated. /painel/inserirnoticiasnovas.asp, line 32 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 marvi Postado Fevereiro 16, 2010 Autor Denunciar Share Postado Fevereiro 16, 2010 Ninguém? Estou precisando muito, só tenho esse problema gritante para resolver e seguir a programação, acredito... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Fevereiro 17, 2010 Denunciar Share Postado Fevereiro 17, 2010 então, marvi o response.write mostrou q o VarDesc esta com mais de 4000 caracteres. então tem q ser um campo maior q isso. num campo varchar você pode por tamanho de ate 8000 bytes, então, se você aumenta-lo deve resolver.agora não entendi o q você quis dizer quanto a gravar imagens. mas um editor como esse funcionaria sim num campo varchar.entretanto se você quiser permitir caracteres unicodes (texto em japones, por exemplo), como o nvarchar não pode passar de 4000, acho q você poderia por como do tipo text.entretanto como você esta fazendo em html, se o cara escrever um texto com caracteres de outras linguas, os caracteres podem ser convertidos pra o codigo html dele, assim gravando o codigo, não tem necessidade de q seja em unicode, inclusive acho q é assim q funciona aqui no forum.entretanto não sei te dar mtas informacoes de como trabalhr com isso e nem sei como o fckeditor gerencia isso. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
marvi
Pessoal,
Que erro é esse?
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC SQL Server Driver][sql Server]Cannot create a row of size 8084 which is greater than the allowable maximum of 8060.
/painel/noticiasatualizando.asp, line 30
executar= "update noticias set conteudo = '"&VarDesc&"',data = '"&vdata&"',fonte = '"&vfonte&"',titulo = '"&vtitulo&"' where codigo = "&id&""
Linha 30: Set rsbusca=Conexao.Execute(executar)
O campo do banco é nvarchar com 4000
Link para o comentário
Compartilhar em outros sites
12 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.