Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Off Topic. Conexion a ficheros dBase III.

142 views
Skip to first unread message

Salvador Ramos

unread,
Jul 26, 2000, 3:00:00 AM7/26/00
to
Hola a todos:

Ya se que no es el grupo indicado, pero ando bastante desesperado al no
encontrar solución a mi problema.

Por favor, si a alguien sabe como resolverlo, le estaría muy agradecido.
Tengo un proyecto parado por este motivo.

Agradecería cualquier ejemplo de conexión. A ser posible sin utilizar DSN.
Lo quiero hacer todo desde código y evitar que el usuario tenga que
manipular o crear un DSN tras la instalación. Y que me permita ejecutar
instrucciones SQL sobre dichas tablas, sobre todo seleccionar rangos de
datos.

Os adjunto también la información enviada a otros grupos.

Un saludo, y gracias por anticipado.
Salvador Ramos
sra...@inforges.es


> Hola amigos:
>
> Hace varios años programaba en Clipper, y aún tengo algunos clientes. Uno
de
> ellos me ha pedido que realice una serie de listados. La solución que le
he
> ofrecido es hacerlos en Visual Basic 6 (utilizando DataReport).
>
> El problema es el siguiente: El seguirá utilizando las BDD desde la
> aplicación Clipper (ésta abre las tablas en modo compartido). Mi idea es
> abrir las tablas desde VB en modo compartido y de sólo lectura. ¿ Cómo
puedo
> realizar esto utilizando ?
>
> Sólo se me ocurre crear una BDD Access y vincular las DBF, pero no me
gusta
> esta solución. Tampoco quiero usar DSN, ya que obligaría al usuario a
crearlas
> manualmente. Lo quiero hacer todo desde código.
>
> Un saludo
> Salvador Ramos
> sra...@inforges.es


Salvador Ramos

unread,
Jul 26, 2000, 3:00:00 AM7/26/00
to
Perdón, se me olvidó. Utilizo ADO.


Fernando G. Guerrero

unread,
Jul 26, 2000, 3:00:00 AM7/26/00
to
He exportado de la base de datos Northwind de Access la tabla Customer al
directorio D:\DBF en formato dBase III como tabla Customer.dbf.

He creado el siguiente programa en VB6 con ADO 2.5 (utilizo el proveedor
OLEDB para ODBC, pero sin DSN):

Dim adoConn As ADODB.Connection
Dim adoRst As ADODB.Recordset
Dim ConString As String

Set adoConn = New ADODB.Connection

adoConn.Provider = "MSDASQL"

ConString = "Driver={Microsoft dBase Driver (*.dbf)};"
ConString = ConString & "FIL=dBase III;DefaultDir=D:\DBF;"

adoConn.Open ConString

Set adoRst = adoConn.Execute("SELECT * FROM Customers")

Do While Not adoRst.EOF
Debug.Print adoRst.Fields(1).Value

adoRst.MoveNext
Loop

adoRst.Close
adoConn.Close

Set adoRst = Nothing
Set adoConn = Nothing

Y funciona, dándome el resultado esperado:

Alfreds Futterkiste
Ana Trujillo Emparedados y helados
Antonio Moreno Taquería
Around the Horn
Berglunds snabbköp
Blauer See Delikatessen
Blondel père et fils
Bólido Comidas preparadas
Bon app'
Bottom-Dollar Markets
B's Beverages
Cactus Comidas para llevar
Centro comercial Moctezuma
Chop-suey Chinese
Comércio Mineiro
Consolidated Holdings
Drachenblut Delikatessen
Du monde entier
Eastern Connection
Ernst Handel
Familia Arquibaldo
FISSA Fabrica Inter. Salchichas S.A.
Folies gourmandes
Folk och fä HB
Frankenversand
France restauration
Franchi S.p.A.
Furia Bacalhau e Frutos do Mar
Galería del gastrónomo
Godos Cocina Típica
Gourmet Lanchonetes
Great Lakes Food Market
GROSELLA-Restaurante
Hanari Carnes
HILARION-Abastos
Hungry Coyote Import Store
Hungry Owl All-Night Grocers
Island Trading
Königlich Essen
La corne d'abondance
La maison d'Asie
Laughing Bacchus Wine Cellars
Lazy K Kountry Store
Lehmanns Marktstand
Let's Stop N Shop
LILA-Supermercado
LINO-Delicateses
Lonesome Pine Restaurant
Magazzini Alimentari Riuniti
Maison Dewey
Mère Paillarde
Morgenstern Gesundkost
North/South
Océano Atlántico Ltda.
Old World Delicatessen
Ottilies Käseladen
Paris spécialités
Pericles Comidas clásicas
Piccolo und mehr
Princesa Isabel Vinhos
Que Delícia
Queen Cozinha
QUICK-Stop
Rancho grande
Rattlesnake Canyon Grocery
Reggiani Caseifici
Ricardo Adocicados
Richter Supermarkt
Romero y tomillo
Santé Gourmet
Save-a-lot Markets
Seven Seas Imports
Simons bistro
Spécialités du monde
Split Rail Beer & Ale
Suprêmes délices
The Big Cheese
The Cracker Box
Toms Spezialitäten
Tortuga Restaurante
Tradiçao Hipermercados
Trail's Head Gourmet Provisioners
Vaffeljernet
Victuailles en stock
Vins et alcools Chevalier
Die Wandernde Kuh
Wartian Herkku
Wellington Importadora
White Clover Markets
Wilman Kala
Wolski Zajazd


--
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)

"Salvador Ramos" <sra...@inforges.es> wrote in message
news:Om5KMSu9$GA.76@cppssbbsa05...

Salvador Ramos

unread,
Jul 26, 2000, 3:00:00 AM7/26/00
to
Muchas gracias, Fernando:

La solución funciona perfectametne en entorno monousuario, pero me da el
siguiente error en multiusuario. Habría alguna manera de que no habriera el
fichero .DBF en modo exclusivo, sino compartido ?

He generado un .exe a partir de mi proyecto, lo he ejecutado y ha
funcionado, pero con él abierto lo he vuelto a ejecutar (para simular uso
multiusuario en mi pc), y me ha dado el siguiente mensaje:

Error '-2147467259(80004005)' en tiempo de ejecución :
[Microsoft][Controlador ODBC dBase] No tiene los permisos necesarios para
utilizar el
objeto 'N:\dowloads\Visual Basic\PruDBF\NIF.DBF'. El administrador del
sistema a la
persona que creó este objeto tiene que establecer los permisos adecuados.

Por esto supongo que es un problema de bloqueos, y no tengo ni idea como le
puedo decir que no lo habra de forma exclusiva. Esto es imprescindible,
porque esta aplicación tiene que convivir con otra que es la que actualiza
dichas tablas (.DBF) realizada en clipper y funcionando en entorno
multiusuario.

Un saludo.
Salvador Ramos
sra...@inforges.es

Salvador Ramos

unread,
Jul 26, 2000, 3:00:00 AM7/26/00
to

perdón "ABRIERA".

Fernando G. Guerrero

unread,
Jul 26, 2000, 3:00:00 AM7/26/00
to

Lo siento, chico, pero no hay solución (desde Microsoft). De acuerdo al
artículo Q230125 de TechNet, Access 2000 y DAC 2.1, 2.1 SP1, 2.1 SP2, 2.5 *y
acabo de comprobar 2.6) no permiten abrir bases de datos dBase III en modo
mutiusuario. Más explícitamente:

"
The dBASE ISAM will place an exclusive lock upon opening dBASE files. This
includes opening linked dBASE tables or dBASE tables opened via DAO.


Multi-user capability is no longer supported.


Concurrent ODBC connections to the same table, from the same computers, or
from multiple computers is no longer supported.


APPEND, UPDATE, and DELETE are no longer supported.
"

Si necesita conexión permanente multiusuario en línea a datos DBF sin
convertir, la única solución parece ser conseguir la librería BDE de Borland
o hacerse con un driver ODBC de otra compañía.

http://www.borland.com/devsupport/bde/bdeupdate.html

Lo estoy bajando ahora. Cuando lo compruebe ya te contaré.

--
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)

"Salvador Ramos" <sra...@inforges.es> wrote in message

news:e32JGbx9$GA....@cppssbbsa02.microsoft.com...
> perdón "ABRIERA".
>
>

Fernando G. Guerrero

unread,
Jul 26, 2000, 3:00:00 AM7/26/00
to
Por cierto, hay que descargar otro fichero primero:

http://www.borland.com/devsupport/bde/files/bde510en.exe

Aún estoy descargando ficheros.

Fernando G. Guerrero

unread,
Jul 26, 2000, 3:00:00 AM7/26/00
to
Nada, ni te molestes en descargar esos ficheros de Borland. Solo son
actualizaciones al BDE que puedes comprar a Borland, pero si no tienes el
original, no actualizan nada.

:-(

--
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)

"Salvador Ramos" <sra...@inforges.es> wrote in message

Salvador Ramos

unread,
Jul 27, 2000, 3:00:00 AM7/27/00
to
Muchas gracias, Fernando:

Tendré que desempolvar algunos libros y programas clipper y recordar viejos
tiempos. Haré con él los listados que necesito y los integraré en la
aplicación.

Un saludo.
Salvador Ramos.
sra...@larural.es


Jesús López Méndez

unread,
Aug 2, 2000, 3:00:00 AM8/2/00
to
Hola:
 
    Siento comunicaros que aunque tengáis el BDE, no os servirá de mucho. Ya que éste no proporciona ningún driver ODBC ni ningún proveedor OLE DB para tablas de dBase.
 
    La solución sería hacer el programa con Delphi o con C++ Builder ya que proporcionan una interfaz adecuada para acceder al BDE, además de incluirlo, claro. También sería posible hacerlo en Visual C++, pero sería muy engorroso ya que habría que llamar directamente a las complejas funciones del BDE.
 
    Otra solución sería acceder a las tablas dbf a través de DAO 2.5 con Visual Basic

--
Saludos:
 
Jesús López Méndez
 
 

 
Fernando G. Guerrero <Fer...@guerrerog.org> escribió en el mensaje de noticias OBsn1A09$GA....@cppssbbsa02.microsoft.com...
0 new messages