Page 1 of 1

Base de datos en red

PostPosted: Fri Sep 19, 2008 5:19 pm
by fergonm
Buenas tardes a todos

Tengo una duda. Debo colocar la base de datos en un solo ordenador y tener acceso desde el resto, todos ellos en red.

Debo colocar la base de datos en uno de los equipos y un .exe en cada equipo. Como se debe modificar el programa para acceder a los datos desde cada ordenador.

Un saludo

PostPosted: Fri Sep 19, 2008 5:39 pm
by leandro
Amigo asi como tu comentas lo hago yo. En un equipo tengo la base y de datos y en los otros equipos tengo solo ejecutables: Lo unico que hago es compartir un directorio en el "servidor". Y luego acceso a los datos a través de la red.

Si quieres trabajar en el mismo servidor la ruta la coloco así:

\miprograma\mydbfs.dbf

para acceder desde las "terminales" lo hago asì:

\\servidor\directoriocompartido\mydbfs.dbf

Te aclaro que las bases de datos las debes abrir en modo compartido.

Espero te sirva.

PostPosted: Fri Sep 19, 2008 6:00 pm
by fergonm
leandro wrote:Amigo asi como tu comentas lo hago yo. En un equipo tengo la base y de datos y en los otros equipos tengo solo ejecutables: Lo unico que hago es compartir un directorio en el "servidor". Y luego acceso a los datos a través de la red.

Si quieres trabajar en el mismo servidor la ruta la coloco así:

\miprograma\mydbfs.dbf

para acceder desde las "terminales" lo hago asì:

\\servidor\directoriocompartido\mydbfs.dbf

Te aclaro que las bases de datos las debes abrir en modo compartido.

Espero te sirva.


Muchas gracias por responder.

Entiendo que la ruta la indicas con SET DEFAULT TO

Un sakudo

PostPosted: Fri Sep 19, 2008 6:09 pm
by Armando Picon
Pensaste en utilizar un archivo tipo INI para colocar los paths? Creo que es más adecuado cuando se trabaja en red antes que hacer "hardcode".


>"Entiendo que la ruta la indicas con SET DEFAULT TO "

Saludos

Re: Base de datos en red

PostPosted: Fri Sep 19, 2008 6:34 pm
by FranciscoA
fergonm wrote:Buenas tardes a todos

Tengo una duda. Debo colocar la base de datos en un solo ordenador y tener acceso desde el resto, todos ellos en red.

Debo colocar la base de datos en uno de los equipos y un .exe en cada equipo. Como se debe modificar el programa para acceder a los datos desde cada ordenador.

Un saludo


Aqui te dejo un pequeño ejemplo utilizando un fichero INI, quizás pueda servirte de guía. Cambiale la ruta. (.\) (puede ser \\Server\MiDir etc)
Saludos

Francisco Alegria P.

En el archivo INI:

[CONFIG]
DrivDirPadre=.\
Path=.\
DrivDirUsers=.\


En el programa principal:

Static cPathDef, cDirPadre

Function Main()

cPathDef:= GetPvProfString( "Config", "Path" , "." , cIniFile )
DirPadre:= GetPvProfString( "Config", "DrivDirPadre" , "." , cIniFile )


SET DEFAULT TO (cPathDef)

PostPosted: Sat Sep 20, 2008 10:44 am
by fergonm
Muchas gracias por vuestras contestaciones.

Nunca usé archivos tipo .INI, por lo que no se como utipizarlos. Pueden indicarme donde encontrar ejemplos.

Un saludo.

PostPosted: Sat Sep 20, 2008 1:27 pm
by FranciscoA
fergonm wrote:Muchas gracias por vuestras contestaciones.

Nunca usé archivos tipo .INI, por lo que no se como utipizarlos. Pueden indicarme donde encontrar ejemplos.

Un saludo.


Fernando, aquí tienes un explicacion más detallada sobre los INI:

Es un fichero de texto corriente. Puedes crearlo con cualquier editor de texto.

Puedes crearlo con el mismo nombre del ejecutable de tu aplicacion.

Esta compuesto por partes que se escriben entre corchetes denominadas entradas ej: [CONFIG], e inmediatamente debajo escribes los datos o variables que utilizaras en tu programa.

Para utilizar los datos en él, desde tu programa debes escribir:
GetPvProfString("Config", "cPath", ".", cIniFile)
Donde: Config es la entrada, cPath el dato a leer o tomar, .\ es el valor por defecto y cIniFile el nombre de la variable donde lo cargas.

Para escribir en un fichero INI:
WritePProString("Config", "cPath", ".", cIniFile)

En la carpeta Samples de FWH encontraras estos ejemplos:
TestIni.prg, TestIni2, TestIni3.


Ejemplo de como yo los uso:

[CONFIG]
DrivDirPadre=.\ //Directorio padre ej: C:\NombreCarpeta
Path=.\ //Sub dir del prog ej: c:\NombreCarpeta\Contabil


En el programa principal:

Static oWnd
Static cPathDef, cDirPadre
Static cIniFile :="NombreFich.Ini"

Function Main()
local.....

//Aqui cargas los valores definidos en el INI a variables Static
cPathDef:= GetPvProfString( "Config", "Path" , "." , cIniFile )
DirPadre:= GetPvProfString( "Config", "DrivDirPadre" , "." , cIniFile )

SET DEFAULT TO (cPathDef) //donde estaran tus ficheros

//Los demas Sets y otros de tu programa
SET......
SET.....

DEFINE WINDOW oWnd....etc

...
...

ACTIVATE WINDOW oWnd

RETURN NIL


Aqui una muestra de un fichero INI:

[CONFIG]
MaxRegDeleted=200
ReordFicheros=N
ProgramaActivo=N
DrivDirPadre=.\
Path=.\
DrivDirUsers=.\
MesCerrado=31/07/2008
ImpModuCks=..\.\WCHEQ\CHEQUES
UltCompact=04/09/2008
UltReindex=04/09/2008


[cDiario]
FormaPredeterm=S
LinNumCD=5.50
ColNumCD=74.00
LinFecha=7.00
ColFecha=74.00
LinConcep=11.00
ColConcep=10.00
LinInicio=14.00
MaxLineas=50.00
LinTotales=51.50
Columna1=4.00
Columna2=20.00
Columna3=0.00
Columna4=66.00
Columna5=77.00
AnchPapel=2100
AltoPapel=2770
AnchFPred=2100
AltoFPred=2790


[Brushes]
BrushWndMain=D:\FAPSOFT\BRUSH5.BMP
BrushChild=13364189
BrushMGet=11976642
BrushDlgGet=10729677
**DirecDegrad=DER
**TipoDegrad=1


[Sonidos]
SiNo=c:\windows\media\CHIMES.WAV
Alto=c:\windows\media\CHORD.WAV
Info=c:\windows\media\NOTIFY.WAV

Espero te ayude esta informacion. Saludos.
Francisco J. Alegría P.

PostPosted: Mon Sep 22, 2008 3:54 pm
by fergonm
Muchas gracias Francisco.

Espero que con tan detallada información funcione todo correctamente.

Un saludo. Fernando