SQL Server - Error en Recordset con ODBC, Access y SQL Server2K

 
Vista:

Error en Recordset con ODBC, Access y SQL Server2K

Publicado por Carlos Andrés (2 intervenciones) el 20/10/2005 19:17:39
Tengo el sgte problema con Access y ODBC:
Utilizo la tecnología ODBCDirect de Access con conexión ODBC a una base de datos SQL Server 2000.
La parte de la conexión y el llenado del recordset mediante la ejecución de un Procedimiento Almacenado de SQL Server 2000 los hace bien. Comienzo a guardar los datos del recordset en variables y los hace sin ningún problema, hasta que saca el error "Se ha producido el error 3146 en tiempo de ejecución: ODBC: falló la llamada" cuando pasa por las sgtes lineas de código:
Me.txtNotas.Value = rstPrueba![Notas]
Me.txtMensajeDespedida.Value = rstPrueba![Mensaje-despedida]
Sospecho que tiene que ver algo el tipo de dato de dichos campos en la tabla original, pero no estoy seguro. Ambos campos son varchar(8000), que es el máximo que permite SQL Server 2000.
ODBC tiene algún límite con la longitud de los campos varchar? O será otra cosa la que me causa el error?
Si necesitan el código completo con gusto lo escribo.
Agradezco la ayuda que me puedan brindar.

Carlos Andrés
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

www.devjoker.com

Publicado por devjoker (7 intervenciones) el 27/10/2005 19:11:32
Hola, el tamaña de campos en SQL Server viene determinado por la página de datos, normalmente 8k, de ahí los 8000 caracteres.

Lo que yo haria es una tabla vinculada en Access, y la vincularía directamente contra SQLServer a través de ODBC.

Una tabla vinculada es una conexion al origen de datos, de tal forma que se usa Access para ver SQL Server, y puedes abrir tus recordset y todo normalmente.

Ten en cuenta que tu poblema puede ser que se hayan corrompido los datos en SQL Server, prueba lo siguiente:
1.HAZ UN BACKUP DE LA BASE DE DATOS DE SQL SERVER.
2.ABRE UN QUERY ANALYZER
3.POSICIONATE EN TU BASE DE DATOS
4.EJECUTA EL SIGUIENTE COMANDO:
DBCC CHECKDB


Este comando comprueba la integridad de los datos, si salen errores ... hay que reparar los datos mira la documentacion de Microsoft:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tsqlref/ts_dbcc_00gy.asp

Y visita mi web! www.devjoker.com

Saludos,
DJK
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar