Procedimiento Almacenado en Vfp

05/08/2005 - 20:08 por Darwin Quintero | Informe spam
Amigos - Saludos

Tengo esta conexion para mi DBC en VFP:

cCadConn = [Driver={Microsoft Visual FoxPro
Driver};SourceTypeÛC;SourceDB=D:\Sistema\Odbc\datos.dbc;SourceTypeÛC;Exclusive=NO;BackgroundFetch=Sí;Collate=Machine;]

He creado un procedimiento almacenado en Datos.dbc que se llama Validar.

Para Sql Server lo llamo asi:

SqlExec(lnConex,[Exec Validar])

Pero no se llamarlo en bases de datos de Vfp, si alguien tiene algun
conocimiento por favor.

Darwin

Preguntas similare

Leer las respuestas

#6 Luis María Guayán
10/08/2005 - 16:45 | Informe spam
El procedimiento almacenado debe retornar un RecordSet de ADO. En la versión
VFP9 esto es posible en forma nativa por la nueva función SETRESULTSET().

En versiones anteriores de VFP deberas buscar alguna herramienta que te
convierta un cursor en un RecordSet de ADO.

http://support.microsoft.com/kb/192762

ftp://ftp.microsoft.com/Softlib/MSL...DBF2RS.EXE

Luis María Guayán
Tucumán, Argentina
________________________________
SysOp de www.PortalFox.com
Microsoft Visual FoxPro MVP
________________________________
La palabra imposible solo figura
en el diccionario de los tontos


"Darwin Quintero" escribió en el mensaje
news:
Amigo Luis
Saludos

Gracias por el link de verdad que esta excelente pronto lo pondre en
practica cuando me llegue la licencia del vfp9.

Les comento que ya no me da error pero se me presenta lo siguiente:

Decidi probar el procedimiento almacenado con uno mas sencillo Ej:

Procedure Mostrar
Select Razon ;
From Clientes ;
Where razon Like 'ACU%' ;
Into Cursor tmp_Cliente
Return
EndProc

oConn = CREATEOBJECT("ADODB.Connection")
oRs = CREATEOBJECT("ADODB.RecordSet")
oConn.Open("Provider=VFPOLEDB.1;Data


Source=D:\Sistema\dbc\Datos.dbc")
oRs = oConn.Execute("Mostrar", , 4)

? oRs.Fields(0).Value

oRs.Close
oConn.CLose
Release oRs, oConn

Resulta que cuando va a ejecutar esta instruccion:
? oRs.Fields(0).Value

Solo muestra .T. como resultado.

Algun comentario al respecto estoy usando vfp7.

Darwin Quintero
Venezuela


"Luis María Guayán" escribió en el mensaje
news:
> Prueba con lo siguiente:
>
> oConn = CREATEOBJECT("ADODB.Connection")
> oRs = CREATEOBJECT("ADODB.RecordSet")
> oConn.Open("Provider=VFPOLEDB.1;Data Source=D:\Sistema\dbc\Datos.dbc")
> oRs = oConn.Execute("Validar", , 4)
> ? oRs.Fields(0).Value
> ? oRs.Fields(1).Value
> *...
> oRs.Close
> oConn.CLose
> RELEASE oRs, oConn
> RETURN
>
> Mira el sig. artículo a ver si es de tu interes:
>
VFP
> 9.0 --
> http://www.panoramabox.com/GoPub.aspx?IdObj019
>
>
> Luis María Guayán
> Tucumán, Argentina
> ________________________________
> SysOp de www.PortalFox.com
> Microsoft Visual FoxPro MVP
> ________________________________
> La palabra imposible solo figura
> en el diccionario de los tontos
>
>
>
> "Darwin Quintero" escribió en el mensaje
> news:
> > Amigos
> > Saludos
> >
> > Estoy haciendo esto:
> >
> > cConnectString = [provider=vfpoledb.1; data
> source=D:\Sistema\dbc\Datos.dbc]
> > oConn = CreateObject("ADODB.Connection")
> > oConn.ConnectionString = cConnectString
> > oConn.Open
> >
> > cSQL = [select * from Clientes Where razon Like 'ACU%']
> > oRS = oConn.Execute (cSQL)
> >
> > if oRS.EOF
> > ? "No records found."
> > oRS.Close
> > oConn.CLose
> > RELEASE oRS, oConn
> > RETURN
> > endif
> >
> > do while !oRS.EOF
> > MessageBox(oRS.Fields("Razon").Value)
> > oRS.MoveNext
> > enddo
> > oRS.Close
> >
> > Hasta aqui todo lo hace bien pero las siguiente instrucciones:
> > loCmd = CreateObject('ADODB.Command')
> > loCmd.ActiveConnection = oConn
> > loCmd.CommandText = 'Validar'
> > loCmd.CommandType = 4
> > loCmd.Execute()
> >
> > Me genera el siguiente error:
> > 1429 - Codigo de excepcion Ole IDispatch 0 de Microsoft Ole DB


Provider
> for
> > Visual Foxpro: Unrecognized command verb..
> >
> > Lo que deseo es ejecutar el procedimiento almacenado Validar
> >
> > Algun comentario sobre el error.
> >
> > Darwin Quintero
> > Venezuela
> > "Darwin Quintero" escribió en el mensaje
> > news:
> > > Amigos - Saludos
> > >
> > > Tengo esta conexion para mi DBC en VFP:
> > >
> > > cCadConn = [Driver={Microsoft Visual FoxPro
> > >
> >
>



Driver};SourceTypeÛC;SourceDB=D:\Sistema\Odbc\datos.dbc;SourceTypeÛC;Exc
> > lusive=NO;BackgroundFetch=Sí;Collate=Machine;]
> > >
> > > He creado un procedimiento almacenado en Datos.dbc que se llama
Validar.
> > >
> > > Para Sql Server lo llamo asi:
> > >
> > > SqlExec(lnConex,[Exec Validar])
> > >
> > > Pero no se llamarlo en bases de datos de Vfp, si alguien tiene algun
> > > conocimiento por favor.
> > >
> > > Darwin
> > >
> > >
> > >
> >
> >
>
>


Respuesta Responder a este mensaje
#7 Darwin Quintero
10/08/2005 - 22:17 | Informe spam
Amigos
Saludos

Estoy haciendo esto:

cConnectString = [provider=vfpoledb.1; data source=D:\Sistema\dbc\Datos.dbc]
oConn = CreateObject("ADODB.Connection")
oConn.ConnectionString = cConnectString
oConn.Open

cSQL = [select * from Clientes Where razon Like 'ACU%']
oRS = oConn.Execute (cSQL)

if oRS.EOF
? "No records found."
oRS.Close
oConn.CLose
RELEASE oRS, oConn
RETURN
endif

do while !oRS.EOF
MessageBox(oRS.Fields("Razon").Value)
oRS.MoveNext
enddo
oRS.Close

Hasta aqui todo lo hace bien pero las siguiente instrucciones:
loCmd = CreateObject('ADODB.Command')
loCmd.ActiveConnection = oConn
loCmd.CommandText = 'Validar'
loCmd.CommandType = 4
loCmd.Execute()

Me genera el siguiente error:
1429 - Codigo de excepcion Ole IDispatch 0 de Microsoft Ole DB Provider for
Visual Foxpro: Unrecognized command verb..

Lo que deseo es ejecutar el procedimiento almacenado Validar

Algun comentario sobre el error.

Darwin Quintero
Venezuela
"Darwin Quintero" escribió en el mensaje
news:
Amigos - Saludos

Tengo esta conexion para mi DBC en VFP:

cCadConn = [Driver={Microsoft Visual FoxPro



Driver};SourceTypeÛC;SourceDB=D:\Sistema\Odbc\datos.dbc;SourceTypeÛC;Exc
lusive=NO;BackgroundFetch=Sí;Collate=Machine;]

He creado un procedimiento almacenado en Datos.dbc que se llama Validar.

Para Sql Server lo llamo asi:

SqlExec(lnConex,[Exec Validar])

Pero no se llamarlo en bases de datos de Vfp, si alguien tiene algun
conocimiento por favor.

Darwin



Respuesta Responder a este mensaje
#8 Darwin Quintero
11/08/2005 - 15:08 | Informe spam
Amigo Luis
Saludos

Gracias por el link de verdad que esta excelente pronto lo pondre en
practica cuando me llegue la licencia del vfp9.

Les comento que ya no me da error pero se me presenta lo siguiente:

Decidi probar el procedimiento almacenado con uno mas sencillo Ej:

Procedure Mostrar
Select Razon ;
From Clientes ;
Where razon Like 'ACU%' ;
Into Cursor tmp_Cliente
Return
EndProc

oConn = CREATEOBJECT("ADODB.Connection")
oRs = CREATEOBJECT("ADODB.RecordSet")
oConn.Open("Provider=VFPOLEDB.1;Data Source=D:\Sistema\dbc\Datos.dbc")
oRs = oConn.Execute("Mostrar", , 4)

? oRs.Fields(0).Value

oRs.Close
oConn.CLose
Release oRs, oConn

Resulta que cuando va a ejecutar esta instruccion:
? oRs.Fields(0).Value

Solo muestra .T. como resultado.

Algun comentario al respecto estoy usando vfp7.

Darwin Quintero
Venezuela


"Luis María Guayán" escribió en el mensaje
news:
Prueba con lo siguiente:

oConn = CREATEOBJECT("ADODB.Connection")
oRs = CREATEOBJECT("ADODB.RecordSet")
oConn.Open("Provider=VFPOLEDB.1;Data Source=D:\Sistema\dbc\Datos.dbc")
oRs = oConn.Execute("Validar", , 4)
? oRs.Fields(0).Value
? oRs.Fields(1).Value
*...
oRs.Close
oConn.CLose
RELEASE oRs, oConn
RETURN

Mira el sig. artículo a ver si es de tu interes:



VFP
9.0 --
http://www.panoramabox.com/GoPub.aspx?IdObj019


Luis María Guayán
Tucumán, Argentina
________________________________
SysOp de www.PortalFox.com
Microsoft Visual FoxPro MVP
________________________________
La palabra imposible solo figura
en el diccionario de los tontos



"Darwin Quintero" escribió en el mensaje
news:
> Amigos
> Saludos
>
> Estoy haciendo esto:
>
> cConnectString = [provider=vfpoledb.1; data
source=D:\Sistema\dbc\Datos.dbc]
> oConn = CreateObject("ADODB.Connection")
> oConn.ConnectionString = cConnectString
> oConn.Open
>
> cSQL = [select * from Clientes Where razon Like 'ACU%']
> oRS = oConn.Execute (cSQL)
>
> if oRS.EOF
> ? "No records found."
> oRS.Close
> oConn.CLose
> RELEASE oRS, oConn
> RETURN
> endif
>
> do while !oRS.EOF
> MessageBox(oRS.Fields("Razon").Value)
> oRS.MoveNext
> enddo
> oRS.Close
>
> Hasta aqui todo lo hace bien pero las siguiente instrucciones:
> loCmd = CreateObject('ADODB.Command')
> loCmd.ActiveConnection = oConn
> loCmd.CommandText = 'Validar'
> loCmd.CommandType = 4
> loCmd.Execute()
>
> Me genera el siguiente error:
> 1429 - Codigo de excepcion Ole IDispatch 0 de Microsoft Ole DB Provider
for
> Visual Foxpro: Unrecognized command verb..
>
> Lo que deseo es ejecutar el procedimiento almacenado Validar
>
> Algun comentario sobre el error.
>
> Darwin Quintero
> Venezuela
> "Darwin Quintero" escribió en el mensaje
> news:
> > Amigos - Saludos
> >
> > Tengo esta conexion para mi DBC en VFP:
> >
> > cCadConn = [Driver={Microsoft Visual FoxPro
> >
>



Driver};SourceTypeÛC;SourceDB=D:\Sistema\Odbc\datos.dbc;SourceTypeÛC;Exc
> lusive=NO;BackgroundFetch=Sí;Collate=Machine;]
> >
> > He creado un procedimiento almacenado en Datos.dbc que se llama


Validar.
> >
> > Para Sql Server lo llamo asi:
> >
> > SqlExec(lnConex,[Exec Validar])
> >
> > Pero no se llamarlo en bases de datos de Vfp, si alguien tiene algun
> > conocimiento por favor.
> >
> > Darwin
> >
> >
> >
>
>


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