Data provider or other service returned an E_FAIL status

07/11/2003 - 04:19 por Gregorio López Rojo | Informe spam
Hola a todos. Estoy accesando a una base de datos sobre un servidor SQL
Server 2000.
Realizo una apertura sobre una vista e intento hacer una búsqueda pero al
intentar usar el método Find del objeto Recordset ocurre el
error -2147467259 generado por Microsoft Cursor Engine "Data provider or
other service returned an E_FAIL status"

Este es el código de la vista
CREATE VIEW [detPartes]
AS
SELECT TOP 100 PERCENT
Partes.*,
Tipos.[Tipo] AS [Tipo],
Tipos.[DescTipo] AS [DescTipo],
Tipos.[DescIng] AS [TipoDescIng],
Tipos.[Movto] AS [Movto],
Medidas.[UMedida] AS [UMedida],
Paises.[PaisCodigo] AS [PaisCodigo],
Paises_1.[PaisCodigo] AS [PaisProcCodigo],
Paises.[TLC] AS [TLC],
Aranceles.[Fraccion] AS [Fraccion],
Aranceles.[DescIngles] AS [DescIngles],
Aranceles_1.[Fraccion] AS [Fraccion1],
Aranceles_2.[Fraccion] AS [ArancelAlt],
Codigos.[Codigo] AS [Codigo],
Empaques.[Empaque] AS [Empaque],
Generos.[Genero] AS [Genero],
Subtipos.[DescEsp] AS [Subtipo],
Tipos.[Color] AS [Color],
Aranceles_3.[Fraccion] AS [ArancelCan]
FROM
Partes LEFT OUTER JOIN
Tipos ON Partes.[ipTipo] = Tipos.[idTipos] LEFT OUTER JOIN
Medidas ON Partes.[ipMedida] = Medidas.[idMedidas] LEFT OUTER JOIN
Paises ON Partes.[ipPais] = Paises.[idPais] LEFT OUTER JOIN
Aranceles ON Partes.[ipArancelUS] = Aranceles.[idArancel] LEFT OUTER JOIN
Aranceles Aranceles_1 ON Partes.[ipArancelMX] = Aranceles_1.[idArancel]
LEFT OUTER JOIN
Codigos ON Partes.[ipCodigo] = Codigos.[idCodigo] LEFT OUTER JOIN
Empaques ON Partes.[ipEmpaque] = Empaques.[idEmpaque] LEFT OUTER JOIN
Paises Paises_1 ON Partes.[ipPaisProc] = Paises_1.[idPais] LEFT OUTER
JOIN
Aranceles Aranceles_2 ON Partes.[ipArancelAlt] = Aranceles_2.[idArancel]
LEFT OUTER JOIN
Generos ON Partes.[ipGenero] = Generos.[idGenero] INNER JOIN
Subtipos ON Partes.[idSubtipo] = Subtipos.[idSubtipo] LEFT OUTER JOIN
Aranceles Aranceles_3 ON Partes.[idArancelCan] = Aranceles_3.[idArancel]
ORDER BY Partes.[NumParte]

El recordset se abre con los siguientes settings:
CursorLocation = adUseClient
CursorType = adOpenStatic
LockType = adLockReadOnly

Alguien quien pueda orientarme por favor.

Saludos.

Preguntas similare

Leer las respuestas

#6 Accotto Maximiliano D.
09/11/2003 - 03:32 | Informe spam
a ver!! usas un find para buscar y ahi marca el error?

has una prueba!! reemplaza el find por un filter
y si es posible mandame el codigo del find.

Si haces el select de carga y funciona bien!! ahi hay otro drama en el vb6.

Porque no me pasas el codigo completo de lo q estas haciendo?

Gracias

Maxi

"Gregorio López Rojo" escribió en el mensaje
news:
Asumo que sí funciona desde el cliente, puesto que el resultado del query


lo
cargo en un grid y esto se hace correctamente en el cliente, el error


ocurre
al intentar hacer uso del método Find en el cliente para hacer una


búsqueda
en el recordset.

Saludos.

"Accotto Maximiliano D." wrote in
message news:
> si del analizer funciona la vista el problema sin duda es de la


aplicacion
> cliente.
>
> Por favor me pasas toda la conexion completa de la aplicacion Cliente?
>
> Cuando vos decis q desde el analizer funcione esto lo usaste desde el
> Servidor o Cliente?
>
> si nop lo probaste desde el cliente te lo sugiero.
>
> Accotto Maximiliano Damian
> Fundicion San Cayetano S.A
> 4002 - 4010
> "Gregorio López Rojo" escribió en el mensaje
> news:
> > Ah, además y el servidor ya tiene instalado el service pack 3 de SQL
> Server,
> > y continua apareciendo el error "Protocol error in TDS stream".
> >
> > Saludos.
> >
> > "Accotto Maximiliano D." wrote in
> > message news:
> > > estimado!! prueba desde tu analizar primero esto:
> > >
> > > Select * from detPartes
> > >
> > > si esto da ok pasamos al seungo paso:
> > >
> > > 1) primero instalate MDAC 2.8 (para tener todo al dio vio)
> > > 2) use cursores del lado del Servidor
> > >
> > > CursorLocation = adUseServer
> > > CursorType = adOpenkeyset
> > >
> > > Prueba con ello y dime como te ha ido!!
> > >
> > > Un abrazo
> > >
> > >
> > > Accotto Maximiliano Damian
> > > Fundicion San Cayetano S.A
> > > 4002 - 4010
> > > Gerente de Sistemas
> > >
> > > "Gregorio López Rojo" escribió en el mensaje
> > > news:%
> > > > Hola a todos. Estoy accesando a una base de datos sobre un


servidor
> SQL
> > > > Server 2000.
> > > > Realizo una apertura sobre una vista e intento hacer una búsqueda
pero
> > al
> > > > intentar usar el método Find del objeto Recordset ocurre el
> > > > error -2147467259 generado por Microsoft Cursor Engine "Data
provider
> or
> > > > other service returned an E_FAIL status"
> > > >
> > > > Este es el código de la vista
> > > > CREATE VIEW [detPartes]
> > > > AS
> > > > SELECT TOP 100 PERCENT
> > > > Partes.*,
> > > > Tipos.[Tipo] AS [Tipo],
> > > > Tipos.[DescTipo] AS [DescTipo],
> > > > Tipos.[DescIng] AS [TipoDescIng],
> > > > Tipos.[Movto] AS [Movto],
> > > > Medidas.[UMedida] AS [UMedida],
> > > > Paises.[PaisCodigo] AS [PaisCodigo],
> > > > Paises_1.[PaisCodigo] AS [PaisProcCodigo],
> > > > Paises.[TLC] AS [TLC],
> > > > Aranceles.[Fraccion] AS [Fraccion],
> > > > Aranceles.[DescIngles] AS [DescIngles],
> > > > Aranceles_1.[Fraccion] AS [Fraccion1],
> > > > Aranceles_2.[Fraccion] AS [ArancelAlt],
> > > > Codigos.[Codigo] AS [Codigo],
> > > > Empaques.[Empaque] AS [Empaque],
> > > > Generos.[Genero] AS [Genero],
> > > > Subtipos.[DescEsp] AS [Subtipo],
> > > > Tipos.[Color] AS [Color],
> > > > Aranceles_3.[Fraccion] AS [ArancelCan]
> > > > FROM
> > > > Partes LEFT OUTER JOIN
> > > > Tipos ON Partes.[ipTipo] = Tipos.[idTipos] LEFT OUTER JOIN
> > > > Medidas ON Partes.[ipMedida] = Medidas.[idMedidas] LEFT OUTER
JOIN
> > > > Paises ON Partes.[ipPais] = Paises.[idPais] LEFT OUTER JOIN
> > > > Aranceles ON Partes.[ipArancelUS] = Aranceles.[idArancel] LEFT
> OUTER
> > > JOIN
> > > > Aranceles Aranceles_1 ON Partes.[ipArancelMX] > > > Aranceles_1.[idArancel]
> > > > LEFT OUTER JOIN
> > > > Codigos ON Partes.[ipCodigo] = Codigos.[idCodigo] LEFT OUTER


JOIN
> > > > Empaques ON Partes.[ipEmpaque] = Empaques.[idEmpaque] LEFT


OUTER
> JOIN
> > > > Paises Paises_1 ON Partes.[ipPaisProc] = Paises_1.[idPais] LEFT
> OUTER
> > > > JOIN
> > > > Aranceles Aranceles_2 ON Partes.[ipArancelAlt] > > > > Aranceles_2.[idArancel]
> > > > LEFT OUTER JOIN
> > > > Generos ON Partes.[ipGenero] = Generos.[idGenero] INNER JOIN
> > > > Subtipos ON Partes.[idSubtipo] = Subtipos.[idSubtipo] LEFT


OUTER
> JOIN
> > > > Aranceles Aranceles_3 ON Partes.[idArancelCan] > > > > Aranceles_3.[idArancel]
> > > > ORDER BY Partes.[NumParte]
> > > >
> > > > El recordset se abre con los siguientes settings:
> > > > CursorLocation = adUseClient
> > > > CursorType = adOpenStatic
> > > > LockType = adLockReadOnly
> > > >
> > > > Alguien quien pueda orientarme por favor.
> > > >
> > > > Saludos.
> > > >
> > > >
> > >
> > >
> >
> >
>
>


Respuesta Responder a este mensaje
#7 Eladio Rincon
10/11/2003 - 15:16 | Informe spam
Hola,

si no puedes modificar el diseño de la vista, me temo que no hay
"workaround".

FIX: SELECT That References Several Tables May Return Invalid TDS Error or
Cause Client Application to Stop Responding
http://support.microsoft.com/defaul...-US;315938

PD. Auque el error se refiere a la versión 7.0 de SQL Server también he
leido que se ha reproducido en las versión 2000 (esta noche lo confirmo y
posteo algo) ...

Saludos,


Eladio Rincón.
SQL Server MVP

http://eladio.europe.webmatrixhosting.net
"Comparte lo que sabes, aprende lo que no sepas", FGG.



"Gregorio López Rojo" escribió en el mensaje
news:#
Hola a todos. Estoy accesando a una base de datos sobre un servidor SQL
Server 2000.
Realizo una apertura sobre una vista e intento hacer una búsqueda pero al
intentar usar el método Find del objeto Recordset ocurre el
error -2147467259 generado por Microsoft Cursor Engine "Data provider or
other service returned an E_FAIL status"

Este es el código de la vista
CREATE VIEW [detPartes]
AS
SELECT TOP 100 PERCENT
Partes.*,
Tipos.[Tipo] AS [Tipo],
Tipos.[DescTipo] AS [DescTipo],
Tipos.[DescIng] AS [TipoDescIng],
Tipos.[Movto] AS [Movto],
Medidas.[UMedida] AS [UMedida],
Paises.[PaisCodigo] AS [PaisCodigo],
Paises_1.[PaisCodigo] AS [PaisProcCodigo],
Paises.[TLC] AS [TLC],
Aranceles.[Fraccion] AS [Fraccion],
Aranceles.[DescIngles] AS [DescIngles],
Aranceles_1.[Fraccion] AS [Fraccion1],
Aranceles_2.[Fraccion] AS [ArancelAlt],
Codigos.[Codigo] AS [Codigo],
Empaques.[Empaque] AS [Empaque],
Generos.[Genero] AS [Genero],
Subtipos.[DescEsp] AS [Subtipo],
Tipos.[Color] AS [Color],
Aranceles_3.[Fraccion] AS [ArancelCan]
FROM
Partes LEFT OUTER JOIN
Tipos ON Partes.[ipTipo] = Tipos.[idTipos] LEFT OUTER JOIN
Medidas ON Partes.[ipMedida] = Medidas.[idMedidas] LEFT OUTER JOIN
Paises ON Partes.[ipPais] = Paises.[idPais] LEFT OUTER JOIN
Aranceles ON Partes.[ipArancelUS] = Aranceles.[idArancel] LEFT OUTER


JOIN
Aranceles Aranceles_1 ON Partes.[ipArancelMX] = Aranceles_1.[idArancel]
LEFT OUTER JOIN
Codigos ON Partes.[ipCodigo] = Codigos.[idCodigo] LEFT OUTER JOIN
Empaques ON Partes.[ipEmpaque] = Empaques.[idEmpaque] LEFT OUTER JOIN
Paises Paises_1 ON Partes.[ipPaisProc] = Paises_1.[idPais] LEFT OUTER
JOIN
Aranceles Aranceles_2 ON Partes.[ipArancelAlt] Aranceles_2.[idArancel]
LEFT OUTER JOIN
Generos ON Partes.[ipGenero] = Generos.[idGenero] INNER JOIN
Subtipos ON Partes.[idSubtipo] = Subtipos.[idSubtipo] LEFT OUTER JOIN
Aranceles Aranceles_3 ON Partes.[idArancelCan] Aranceles_3.[idArancel]
ORDER BY Partes.[NumParte]

El recordset se abre con los siguientes settings:
CursorLocation = adUseClient
CursorType = adOpenStatic
LockType = adLockReadOnly

Alguien quien pueda orientarme por favor.

Saludos.


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida