Socorro!!!! - Sql Server

16/12/2003

1

olá,
não sei mais o que faço, estou com o seguinte erro no sql server: string or binary would be truncated , e já fiz de tudo. já aumentei os campos da tabela, defini todos como varchar e de tamanho no mínimo 20, já utilizei a ferramenta Profiler do sql server e verifiquei que pelo query analiser ele insere, seleciona, deleta, atualiza (realiza todas as operações) sem nenhum erro. acho que o erro está em alguma propriedade no delphi, mais não sei o que é????? pelo query analyser realizo tudo, mais quando tento fazer no delphi não sai nada, só mostra o erro de quem falei!!!!
alguem me ajude por favor!!!!

agradecimentos,


Responder

Posts

16/12/2003

Ricvictor

Olá Solon ...

Cara, observe a questão do tipo de campo que está definido no seu dataset ... por exemplo ... esse tipo de erro é comum também quando na nossa base de dados temos definido o campo de um determinado tipo, no caso seu aí um varchar, e na aplicação o campo referido está de um tipo diferente ... se for esse o caso, delete o campo do seu dataset, coloque o seu dataset pra true, depois false e em seguida adicione o campo que você deletou anteriormente ... provavelmente, com isso, ele já virá tal qual esteja definido no seu banco de dados.

Um abraço.
Ricardo - Natal/RN.


Responder

16/12/2003

Solon

olá ricardo desculpe a minha pequena ignorância,

não entendi de que dataset vc está falando??? estou trabalhando com stored procedure no delphi com sql server. defini uma stored de incluirEmpresa e nela todos os campos estão definidos como varchar, assim como na tabela, com o mesmo tamanho de campos. na stored procedure tem algumas propriedades dos parâmetros, como a Params, que quando clico ela abre uma tela com os 22 parâmetros da stored procedure de empresa, e clico em um parâmetro, por exemplo @codigo_empresa, e seleciono o tipo dela. estou colocando o tamanho 15 e o Type dela Unassigned. não sei mais o que fazer, pois já coloquei OleStr, String, e nada. por favor me explique melhor onde acho esse dataset, e se o erro pode ser nesses parâmetros.

agradecimentos,


Responder

16/12/2003

Ricvictor

Olá Solon ...

Certo, se você está utilizando o componente storedproc ... provavelmente quando você clica na propriedade params já eh para aparecer todas os parametros necessarios para a execução de sua procedure no Banco. Isso como vc mesmo já citou, já aparece !! Bem, basta ainda nessa tela você informar em ´param type´, para cada parâmetro desse, se ele eh de entrada (input) ou de saída (output). Blz, só resta agora você observar para os parâmetros de entrada se você os estão passando com o mesmo tipo de variável ... (exemplo: Como todos os seus parametros são do tipo varchar no seu Banco, então em tempo de execução você deverá estar passando para o seu parametro de entrada algum valor do tipo string). Verificada todas essas observações, acredito que vá funcionar agora ... se ainda não funcionar, coloque um break point (na procedure que está chamando a stored procedure para executar, ou seja, aonde você está passando os valores para os parâmetros) no seu código fonte e compile novamente o seu projeto ... pois assim você identificará se o erro que está dando acontece realmente quando se está mandando executar a storedproc, pois se depois de tudo o que você já fez na storedproc ainda não funcionar acredito que o erro não esteja nela não ... ok ?!

Qualquer bronca ... é só entrar em contato !!
Ricardo - Natal/RN.


Responder

17/12/2003

Solon

olá,
estou escrevendo só para lhe agradecer pela ajuda, o erro era que a stored procedure foi recriada por um outro amigo meu e os parâmetros foram trocados no insert, coisa que não pode acontecer pode ele pega direto na tabela, a não ser que vc defina a sequência correta. mais mesmo assim ricardo muito obrigado, pois aprendi muita coisa com as dicas que vc me passou, muito obrigado mesmo, valeu como uma experiência, e se precisar de qualquer coisa, é só me mandar um e-mail : solon@redespectrum.com.br.

Agradecimentos,


Responder