Acceder a tablas Foxpro 2.6 desde SQL Server 2000 SP3

29/07/2004 - 15:06 por José Luis Santana | Informe spam
Como podría actualizar la tabla

exped.dbf

que se encuentra en el directorio

H:\eurodes

desde un Store Procedure de SQL Server 2000 SP3

El equipo tiene instalado VFP7 y VFP8 con el VFPOLEDB de
VFP8a

Saludos.
José Luis Santana

Preguntas similare

Leer las respuestas

#1 Emilio Boucau
29/07/2004 - 15:28 | Informe spam
Jose Luis,

fijate ne los Books On Line el tema 'Link Server' o 'Servidores Vinculados'.
Esa es la forma ...


Saludos !

Emilio Boucau
Buenos Aires - Argentina
http://www.portalsql.com
Respuesta Responder a este mensaje
#2 José Luis Santana
29/07/2004 - 16:16 | Informe spam
Si los he estado viendo, de hecho tengo este mensaje
antiguo de Fernando pero no consigo hacerlo funcionar.

De todos modos, puedes abrir directamente una tabla DBase
III desde SQL
Server 7.0, sin necesidad de utilizar Access para nada,
mediante una
instrucción como esta:

SELECT *
FROM OPENROWSET('MSDASQL',
'Driver=Microsoft Visual FoxPro Driver;
SourceDB=d:\sql;
SourceTypeÛF',
'SELECT * FROM authors')

O declarar el directorio en el que están los ficheros como
servidor enlazado
a SQL Server, llamémosle DBF, y luego hacer consultas
directamente como:

SELECT *
FROM DBF...Authors

Fernando G. Guerrero
MCDBA, MCSD, MCT, MCSE+Internet
QA Group Ltd., UK
Share what you know, learn what you don't

(please reply only to the newsgroup)


En mi caso la consulta sería:

SELECT *
FROM OPENROWSET('MSDASQL',
'Driver=Microsoft Visual FoxPro Driver;
SourceDB=h:\eurodes;
SourceTypeÛF',
'SELECT * FROM exped')

y el resultado es

Servidor: mensaje 7399, nivel 16, estado 1, línea 1
OLE DB provider 'MSDASQL' reported an error.
[OLE/DB provider returned message: [Microsoft][ODBC Visual
FoxPro Driver]El archivo 'exped.dbf' no existe.]

La tabla exped.dbf existe y no la tiene abierta nadie, el
directorio h:\eurodes existe y tengo acceso a él.

No sé porque el problema.

La segunda solución he intentado crear el servidor
enlazado, pero me debo de estar equivocando en algo pues
no me muesta las tablas, dando un error similar.

Saludos.
José Luis Santana



Jose Luis,

fijate ne los Books On Line el tema 'Link Server'


o 'Servidores Vinculados'.
Esa es la forma ...


Saludos !

Emilio Boucau
Buenos Aires - Argentina
http://www.portalsql.com


.

Respuesta Responder a este mensaje
#3 José Luis Santana
29/07/2004 - 18:14 | Informe spam
Cuando empleo esta sentencia para crearme un servidor
enlazado:

sp_addlinkedserver @server = 'test1',
@srvproduct = 'VFP-ODBC',
@provider = 'MSDASQL',
@provstr = 'DRIVER=Microsoft Visual FoxPro
Driver;UID=;
Deleted=Yes; Null=Yes;
Collate=Machine;BackgroundFetch=No;
Exclusive=No;
SourceTypeÛF;SourceDB=h:\eurodes'

Mediante el OLEDB de ODBC no me muestra las tablas en el
directorio

cuando ejecuto esto:

SELECT * FROM test1...exped

Servidor: mensaje 7314, nivel 16, estado 1, línea 1
OLE DB provider 'test1' does not contain table 'exped'.
The table either does not exist or the current user does
not have permissions on that table.




Jose Luis,

fijate ne los Books On Line el tema 'Link Server'


o 'Servidores Vinculados'.
Esa es la forma ...


Saludos !

Emilio Boucau
Buenos Aires - Argentina
http://www.portalsql.com


.

Respuesta Responder a este mensaje
#4 Miguel Egea
29/07/2004 - 18:36 | Informe spam
Jose Luis, h: ¿es una unidad compartida?, si es así, usa la ruta unc
\\servidoruta, creo que por ahí puedei r el problema.

Saludos
Miguel Egea
"José Luis Santana" escribió en el
mensaje news:694801c47587$2e91fa50$
Cuando empleo esta sentencia para crearme un servidor
enlazado:

sp_addlinkedserver @server = 'test1',
@srvproduct = 'VFP-ODBC',
@provider = 'MSDASQL',
@provstr = 'DRIVER=Microsoft Visual FoxPro
Driver;UID=;
Deleted=Yes; Null=Yes;
Collate=Machine;BackgroundFetch=No;
Exclusive=No;
SourceTypeÛF;SourceDB=h:\eurodes'

Mediante el OLEDB de ODBC no me muestra las tablas en el
directorio

cuando ejecuto esto:

SELECT * FROM test1...exped

Servidor: mensaje 7314, nivel 16, estado 1, línea 1
OLE DB provider 'test1' does not contain table 'exped'.
The table either does not exist or the current user does
not have permissions on that table.




Jose Luis,

fijate ne los Books On Line el tema 'Link Server'


o 'Servidores Vinculados'.
Esa es la forma ...


Saludos !

Emilio Boucau
Buenos Aires - Argentina
http://www.portalsql.com


.

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