Ir para conteúdo

POWERED BY:

Arquivado

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

Luiz Vieira

Erro em acesso SQL

Recommended Posts

Galera, preciso de uma ajuda urgente! http://forum.imasters.com.br/public/style_emoticons/default/cry.gif

Em um dos sites q trabalho (www.procardiaco.com.br), em uma de suas páginas www.procardiaco.com.br/procep.asp quando alguns usuários estão logando para acessar o conteúdo, um erro SQL ocorre:

 

Microsoft OLE DB Provider for SQL Server error '80040e57'

 

String or binary data would be truncated.

 

/includes/cConnection.asp, line 80

 

Não sei q tipo de erro é esse, e começou do nada, pois o site estava funcionando muito bem.

Dei uma olhada na linha de código 80 do arquivo asp mencionado, mas está td ok....

Alguém pode dar uma luz?

 

VALEU!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou postar o arquivo do início até a linha 80 e colocar a linha 80 em vermelho:

 

<%

 

' AQUI checar para ver o q nao eh necessario

 

Class cConnection

 

' variables for private use only

private objConn, m_sql, rs, flds, cont

private arrayFields, arrayRs, arrayNames, varResult

 

'roda na inicialização

Public Sub Class_Initialize

redim arrayFields(0)

redim arrayNames(0)

 

Set objConn = server.CreateObject("adodb.connection")

objConn.Open application("connection1_ConnectionString")

 

'Response.end

End Sub

 

'roda quando terminar

Public Sub Class_Terminate

objConn.close

Set objConn = Nothing

End Sub

 

' pega a string sql

Public Property Let getQuery(value)

m_sql = value

End Property

 

' retorna a string sql

Public Property Get getQuery

getQuery = m_sql

End Property

 

' retorna a lista de campos da query

Public Property Get getNameFields

getNameFields = arrayNames

End Property

 

' retorna a lista de campos da query

Public Property Get getNumberFields

getNumberFields = arrayFields

End Property

 

' Método para abrir o recordset

Public Function openRs()

 

Set rs = server.CreateObject("adodb.recordset")

'rs.CursorLocation = 3 'adUseClient

'Response.Write m_sql

rs.Open m_sql, objConn

 

Set Flds = rs.Fields

 

redim arrayFields(Flds.Count)

redim arrayNames(Flds.Count)

 

For cont = 0 to Flds.Count -1

arrayFields(cont) = cont

arrayNames(cont) = rs.Fields.Item(cont).name

Next

 

if not rs.EOF then

arrayRs = rs.GetRows

else

arrayRs = "false"

end if

 

Set rs = Nothing

openRs = arrayRs

End Function

 

'Para operações diferentes de select (queries de ação) sem transação

Public Function executeActionQuery()

dim nReg

'response.write m_sql

objConn.execute(m_sql), nReg

 

executeActionQuery = nReg

End Function

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu pela idéia jonathandj !

Dei um response.write na função m_sql e descobri que um dos valors q estava sendo repassado ao BD, alcançou um ponto no armazenamento de estatísticas de acesso ao site que o campo da tabela não estava suportando mais.

 

Aí foi só entrar no SQL Server e alterar o tamanho do campo na tabela http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

 

Valeu pela ajuda galera! http://forum.imasters.com.br/public/style_emoticons/default/clap.gif

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.