conexion a tabla dbf

16/08/2006 - 14:45 por Hugo Gsell | Informe spam
Estamos desarrollando un sistema en vb.net... con asp y otras yerbas.
Tengo unas bases de datos externas (red local) que estan en formato dbf.
No logro conseguir desde vb.net la cadena de conexión correcta que me
conecte a esta base para consultar la info que necesito.
Desde ya muchas gracias por el tiempo dispensado.
Un saludo.
Hugo A. Gsell
Sgo del Estero
Argentina

Preguntas similare

Leer las respuestas

#1 Hugo Gsell
16/08/2006 - 15:41 | Informe spam
ya logré hacerlo.. este es el código desde vb (ver abajo):
La cosa es ahora que mi tabla dbf tiene cerca de 90000 registros... y el
select ES ETERNO... y eso que lo estoy ejecutando local para probar... no
quiero pensar si llega a ser en red

Hugo A. Gsell
Sgo del Estero
Argentina

Imports System.Data.OleDb
Imports System.Data


Dim dt As DataTable
Dim da As OleDbDataAdapter
Dim txtBase As String = "d:\temp\afiliado.dbf"
Dim sCnn As String =
"Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=dBASE IV;Data
Source=d:\Temp\"
' La cadena de selección
Dim sSel As String = "SELECT * FROM Afiliado WHERE
A_NUMERO='803815'"
Try
' Crear un nuevo objeto del tipo DataAdapter
da = New OleDbDataAdapter(sSel, sCnn)
' Crear los comandos de insertar, actualizar y eliminar
Dim cb As New OleDbCommandBuilder(da)
' Como hay campos con caracteres especiales,
' al usarlos incluirlos entre corchetes.
cb.QuotePrefix = "["
cb.QuoteSuffix = "]"
' Asignar los comandos al DataAdapter
' (se supone que lo hace automáticamente, pero...)
'da.UpdateCommand = cb.GetUpdateCommand
'da.InsertCommand = cb.GetInsertCommand
'da.DeleteCommand = cb.GetDeleteCommand
'
' Esta base de datos usa el ID con valores automáticos
da.MissingSchemaAction = MissingSchemaAction.AddWithKey

'
dt = New DataTable
' Llenar la tabla con los datos indicados
da.Fill(dt)
'
MsgBox("Conexión realizada")

' Y mostrar el primer registro
If dt.Rows.Count > 0 Then
Dim uf As Integer = 0
Dim kr As DataRow
kr = dt.Rows(uf)
MsgBox(kr.Item(2))
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try


Hugo A. Gsell
"Hugo Gsell" escribió en el mensaje
news:
Estamos desarrollando un sistema en vb.net... con asp y otras yerbas.
Tengo unas bases de datos externas (red local) que estan en formato dbf.
No logro conseguir desde vb.net la cadena de conexión correcta que me
conecte a esta base para consultar la info que necesito.
Desde ya muchas gracias por el tiempo dispensado.
Un saludo.
Hugo A. Gsell
Sgo del Estero
Argentina

Respuesta Responder a este mensaje
#2 Alfredo S. Fernández
21/10/2006 - 13:00 | Informe spam
Viendo el caso, es muy parecido al mió, a lo cual se me ocurren varias
cosas

- No convendría de que generes Índices sobre el campo que realizas SELECT?

- Estas haciendo la consulta con SELECT * (nótese el asterisco) - esto
hace que baje el rendimiento según dicen

- No convendría migrarlo a Access o algo parecido un poco mas robusto que un
DBF?

Esas son mis opiniones...
Espero que te sirvan
Saludos.


"Hugo Gsell" escribió en el mensaje
news:%
ya logré hacerlo.. este es el código desde vb (ver abajo):
La cosa es ahora que mi tabla dbf tiene cerca de 90000 registros... y el
select ES ETERNO... y eso que lo estoy ejecutando local para probar... no
quiero pensar si llega a ser en red

Hugo A. Gsell
Sgo del Estero
Argentina

Imports System.Data.OleDb
Imports System.Data


Dim dt As DataTable
Dim da As OleDbDataAdapter
Dim txtBase As String = "d:\temp\afiliado.dbf"
Dim sCnn As String =
"Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=dBASE IV;Data
Source=d:\Temp\"
' La cadena de selección
Dim sSel As String = "SELECT * FROM Afiliado WHERE
A_NUMERO='803815'"
Try
' Crear un nuevo objeto del tipo DataAdapter
da = New OleDbDataAdapter(sSel, sCnn)
' Crear los comandos de insertar, actualizar y eliminar
Dim cb As New OleDbCommandBuilder(da)
' Como hay campos con caracteres especiales,
' al usarlos incluirlos entre corchetes.
cb.QuotePrefix = "["
cb.QuoteSuffix = "]"
' Asignar los comandos al DataAdapter
' (se supone que lo hace automáticamente, pero...)
'da.UpdateCommand = cb.GetUpdateCommand
'da.InsertCommand = cb.GetInsertCommand
'da.DeleteCommand = cb.GetDeleteCommand
'
' Esta base de datos usa el ID con valores automáticos
da.MissingSchemaAction = MissingSchemaAction.AddWithKey

'
dt = New DataTable
' Llenar la tabla con los datos indicados
da.Fill(dt)
'
MsgBox("Conexión realizada")

' Y mostrar el primer registro
If dt.Rows.Count > 0 Then
Dim uf As Integer = 0
Dim kr As DataRow
kr = dt.Rows(uf)
MsgBox(kr.Item(2))
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try


Hugo A. Gsell
"Hugo Gsell" escribió en el mensaje
news:
Estamos desarrollando un sistema en vb.net... con asp y otras yerbas.
Tengo unas bases de datos externas (red local) que estan en formato dbf.
No logro conseguir desde vb.net la cadena de conexión correcta que me
conecte a esta base para consultar la info que necesito.
Desde ya muchas gracias por el tiempo dispensado.
Un saludo.
Hugo A. Gsell
Sgo del Estero
Argentina





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