Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

natalia

Arithmetic overflow ?

Recommended Posts

Olá pessoal,Estou com um problema,está dando esse erro na minha página:Microsoft OLE DB Provider for ODBC Drivers erro '80040e57' [Microsoft][ODBC SQL Server Driver]

Arithmetic overflow error converting IDENTITY to data type decimal. Ela estava funcionando normalmente, e já faz alguns dias que começou apresentar esse erro. É um formulário onde todos os campos são gravados na mesma tabela, há um campo que se digitado um unico caracter já apresenta o problema no momento de inserir os dados. Qdo este campo fica em branco não dá erro.Este campo tem o tipo varchar e aceita até 35 caracteres.Obs: O mesmo código é usado em outro site e não apresenta o erro acima.O que pode ser?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que sua duvida será melhor analizada no fórum sobre o SQLServer, vou mover para lá.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá pessoal,Estou com um problema,está dando esse erro na minha página:Microsoft OLE DB Provider for ODBC Drivers erro '80040e57' [Microsoft][ODBC SQL Server Driver]

Arithmetic overflow error converting IDENTITY to data type decimal. Ela estava funcionando normalmente, e já faz alguns dias que começou apresentar esse erro. É um formulário onde todos os campos são gravados na mesma tabela, há um campo que se digitado um unico caracter já apresenta o problema no momento de inserir os dados. Qdo este campo fica em branco não dá erro.Este campo tem o tipo varchar e aceita até 35 caracteres.Obs: O mesmo código é usado em outro site e não apresenta o erro acima.O que pode ser? Parece q você está tentando inserir dados em um campo INT IDENTITYtente verificar!!falows

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho q rOcKLoCo têm razão aparentemente você esta tentando gravar um campo decimal em um campo IDENTITY.Poste a estrutura da tabela e qual instrução SQL você esta usando!! Assim facilita ajudá-la!!t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

insert into profissional(cod_cand,empresa,cargo,dt_adm,dt_dem,descricao) values(310374,'empresa','funcao','12/12/2003','10/10/2004','atividade') O campo cod_cand é do tipo decimal, mas não é identity. Há um outro campo de nome sequencia que é do tipo decimal e ele sim é identity.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Poste uma sp_help da tabela profissional. Assim fica mais fácil ajudá-la.t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estou passando apenas o resultado do campo sequencia:column_name = sequenciatype = decimalcomputed = nolength = 5prec = 6scale = 0nullable = notrimTrailingBlanks = (n/a)fixedLenNullInSource = (n/a)collation = nullidentity = sequenciaseed = 1increment = 1not for replication = 0É isso que você queria saber?

Compartilhar este post


Link para o post
Compartilhar em outros sites

natalia,Ainda ñ é isso o q quero.Gere o script da criação da tabela e post aki assim posso criar um tabela aki com e efetuar os testes.Preciso do script pois somente assim poderei ter certeza de com esta o seu ambiente.t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Profissional]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)drop table [dbo].[Profissional]GOCREATE TABLE [dbo].[Profissional] ( [Cod_Cand] [decimal](6, 0) NOT NULL , [Empresa] [char] (35) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL , [Cargo] [char] (30) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL , [Dt_Adm] [char] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [Dt_Dem] [char] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [Descricao] [text] COLLATE SQL_Latin1_General_CP1_CI_AS NULL , [sequencia] [decimal](6, 0) IDENTITY (1, 1) NOT NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]GO

Compartilhar este post


Link para o post
Compartilhar em outros sites

natália,Era isso mesmo q eu queria!!Criei a tabela com o script q você postou e executei as expressão q você postou:insert into profissional(cod_cand,empresa,cargo,dt_adm,dt_dem,descricao) values(310374,'empresa','funcao','12/12/2003','10/10/2004','atividade') E consegui grava o registro sem problemas se quiser mando o script q usei.Realmente esta é boa pois comigo deu tudo certo!!!t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

natalia,Mude o tipo do campo Identity para integer e faça uns testes.Na verdade com esta mudança só ñ permirtirá q você tenha valores com decimais .00 neste campo mas acho q você ñ precisa mesmo.Altere o tipo do campo teste e retorne.t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.