Append procedures en EXE

14/02/2005 - 19:53 por heriberto uc | Informe spam
hola a a todos.

Les comento que quiero crear un BD mediante codigo en tiempo de ejecucion
con Integridad Referencial, para agregar la integridad importo los
procedmientos almacenados desde un archivo de texto mediante APPEND
PROCEDURES , pero solo funciona en tiempo de desarrollo, cuando el entorno
de desarrollo esta funcionado. Pero cuando genero el ejecutable y me
indica un error de "caracteristica no soportada" justo en la linea del
APPEND PROCEDURES , ¿es acaso q estos comandos solo funcionan dentro de el
entorno de desarrollo?
¿Alguien conoce por que? o ¿existe alguna alternativa de implementar la
integridad referencial en el ejecutable?.


PD : En tiempo de desarrollo, funciona perfectamente todo, la creacion de
la bd, la integridad referencial y los procs. almacenados.


PortalFox :: Nada corre como un zorro
http://www.portalfox.com

PortalFox - NNTP Forum Gateway

Preguntas similare

Leer las respuestas

#1 Raül Vidiella
18/02/2005 - 12:02 | Informe spam
Este comando no funciona en ejecucio.
Para incorporar procedimientos almacenados en ejecución utlizo el
siguiente metodo:

Primero guardo los procedimientos almacenados del la base de datos en
dos ficheros. Uno son los procedimientos en formato texto, el otro son
los procedimientos compilados.

USE basededatos.dbc
LOCATE FOR objectname="StoredProceduresSource"
IF FOUND()
COPY MEMO code TO "procedimientos.src"
ENDIF
LOCATE FOR objectname="StoredProceduresObject"
IF FOUND()
COPY MEMO code TO "procedimientos.cod"
ENDIF
use

Tanto el nombre como las extensiones so orientativas.

Despues en ejecucion puedes añadirlos:

USE basededatos.dbc
LOCATE FOR Objectname = 'StoredProceduresSource'
IF FOUND()
APPEND MEMO Code FROM procedimientos.src OVERWRITE
ENDIF
LOCATE FOR Objectname = 'StoredProceduresObject'
IF FOUND()
APPEND MEMO Code FROM procediminetos.cod OVERWRITE
ENDIF
USE


Saludos
Raül Vidiella

En/na heriberto uc ha escrit:
hola a a todos.

Les comento que quiero crear un BD mediante codigo en tiempo de ejecucion
con Integridad Referencial, para agregar la integridad importo los
procedmientos almacenados desde un archivo de texto mediante APPEND
PROCEDURES , pero solo funciona en tiempo de desarrollo, cuando el entorno
de desarrollo esta funcionado. Pero cuando genero el ejecutable y me
indica un error de "caracteristica no soportada" justo en la linea del
APPEND PROCEDURES , ¿es acaso q estos comandos solo funcionan dentro de el
entorno de desarrollo?
¿Alguien conoce por que? o ¿existe alguna alternativa de implementar la
integridad referencial en el ejecutable?.


PD : En tiempo de desarrollo, funciona perfectamente todo, la creacion de
la bd, la integridad referencial y los procs. almacenados.


PortalFox :: Nada corre como un zorro
http://www.portalfox.com

PortalFox - NNTP Forum Gateway
Respuesta Responder a este mensaje
#2 heriberto uc
22/02/2005 - 18:09 | Informe spam
Que tal forista.

Gracias por la ayuda Raul, ye probe tu codigo, pero parece no funcionar
al agregar los procedimientos , en particular

LOCATE FOR objectname="StoredProceduresSource"
IF FOUND()

nunca encuentra el objeto, por lo q no realiza el append memo . lo copie
tal y como aparece, obviamente cambie las rutas y el nombre de la BD
(trabajo con la recen creada) , pero nada mas ... tengo una duda en
particular a la palabra "memo" en el append memo, segun lei en la ayuda de
fox, es para indicar el nombre del campo, pero, ¿asi se llama el campo q
guarda los procedimientos en la BD? sera que cuando creo la BD no estan
compilados dichos procedimientos por eso no funciona el Locate?

Cualquier ayuda sera bienvenida.

Saludos


PortalFox :: Nada corre como un zorro
http://www.portalfox.com

PortalFox - NNTP Forum Gateway
Respuesta Responder a este mensaje
#3 Raül Vidiella
23/02/2005 - 11:20 | Informe spam
Te contesto sobre tu mensaje.

En/na heriberto uc ha escrit:
Que tal forista.

Gracias por la ayuda Raul, ye probe tu codigo, pero parece no funcionar
al agregar los procedimientos , en particular

LOCATE FOR objectname="StoredProceduresSource"
IF FOUND()

nunca encuentra el objeto, por lo q no realiza el append memo . lo copie
tal y como aparece, obviamente cambie las rutas y el nombre de la BD
(trabajo con la recen creada) , pero nada mas ...



Deberia existir. En mi caso utilizo este codigo para actualizar los
procedimientos almacenados en bases ya existentes. Puedes utilizar el
programa gendbc.prg que te viene con el fox. Este te crea un prg para
regenerar una bases de datos, a partir de aqui puedes ver como lo hace y
modificar el código para tu conveniencia.

tengo una duda en
particular a la palabra "memo" en el append memo, segun lei en la ayuda de
fox, es para indicar el nombre del campo, pero, ¿asi se llama el campo q
guarda los procedimientos en la BD? sera que cuando creo la BD no estan
compilados dichos procedimientos por eso no funciona el Locate?



las sentencia es APPEND MEMO mcampo, donde mcampo es el nombre de campo
de la dbc (code por ejemplo)

Cualquier ayuda sera bienvenida.

Saludos


PortalFox :: Nada corre como un zorro
http://www.portalfox.com

PortalFox - NNTP Forum Gateway




Saludos
Raül Vidiella
Respuesta Responder a este mensaje
#4 heriberto uc
23/02/2005 - 15:20 | Informe spam
Que tal.

Gracias de nuevo Raul, ya revise el codigo, lo probe y fue un error mio en
quitar la linea

USE nombrebase.dbc

pense q era lo mismo q OPEN DATABASE y ahora veo que no es asi, funciona
perfectamente en tiempo de ejecucion.

Saludos foristas.




PortalFox :: Nada corre como un zorro
http://www.portalfox.com

PortalFox - NNTP Forum Gateway
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida