elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Compactar Base de Datos Access 2003
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Compactar Base de Datos Access 2003  (Leído 3,161 veces)
jrhomer

Desconectado Desconectado

Mensajes: 105



Ver Perfil WWW
Compactar Base de Datos Access 2003
« en: 12 Junio 2006, 18:46 pm »

 Hola foro;

tengo una duda que me trae algo liado os explico la situación.

Hasta ahora he estado trabajando siempre con Access97, ya que para lo que he usado la base de datos me ha funcionado bien (y si hace lo que quiero y se hacerlo... ¿para que iba a cambiar?) pero ahora me "obligan" a usar algo que esté más al día, de modo que me han dicho que use Access2003 o me vaya a SQL.

El caso es que quiero seguir usando Access y de modo que me he puesto a actualizar mis conexiones. La gran mayoría de las conexión se siguen realizando correctamente, pero otras han tenido que sufrir algunos cambios, por ejemplo:

con Access97 usaba:

Set CX = New ADODB.Connection

    With CX
         .Open ("Provider=Microsoft.Jet.OLEDB.3.51;" & _
            "Data Source=" & CONECTAR.cBaseDatos & ";" & _
            "Jet OLEDB:Database Password=pepe")
    End With

(no creais q l pasword en realidad es "pepe", jeje)

y he tenido que actualizarlo a:

    With CX
         .Open ("Provider=Microsoft.Jet.OLEDB.4.0;" & _
            "Data Source=" & CONECTAR.cBaseDatos & ";" & _
            "Jet OLEDB:Database Password=pepe")
    End With

yo tenia entendido que el Provider=Microsoft.Jet.OLEDB.4.0; era para la versión 2000, pero estaba confundido y es 3.51 para las anteriores a Access97 y 4.0 para las siguientes.

Este cambio ha funcionado (por ahora) con las conexión que me han ido surgiendo, según voy revisando el código.

Pero al llegar a la sección donde compacto la base de datos:

Set je = New JRO.JetEngine

    je.CompactDatabase _
        "Provider=Microsoft.Jet.OLEDB.4.0;" & _
        "Data Source=" & CONECTAR.cBaseDatos & ";" & _
        "Jet OLEDB:Engine Type=4;" & _
        "Jet OLEDB:Database Password=pepe", _
        "Provider=Microsoft.Jet.OLEDB.4.0;" & _
        "Data Source=" & sDBTmp & ";" & _
        "Jet OLEDB:Engine Type=4;" & _
        "Jet OLEDB:Database Password=pepe"

Este mismo código lo usaba también cuando usaba Access97, no entendia muy bien lo del 4.0 en este caso... pero así lo leí y así lo he usado y no me había dado problemas hasta ahora.

Hay algo que tengo mal, pero no se el que y lo que es peor... no se como solucionarlo.

El error que salta al ejecutarse esta línea de código es el siguiente:

Error '-2147467259 (800044005)' en tiempo de ejecución:

No se puede realizar esta operación;  las características de esta versión no están disponibles para bases de datos con formatos antiguos.

No lo entiendo del todo... ya que cuando dice "bases de datos con formatos antiguos..." exactamente lo que he "modernizado" ha sido la base de datos.

Supongo que algo del controlador está mal...

Espero que alguien me pueda echar una mano para poder solucionar esto.

muchas gracias como siempre.


En línea

ups!!
jrhomer

Desconectado Desconectado

Mensajes: 105



Ver Perfil WWW
Re: Compactar Base de Datos Access 2003
« Respuesta #1 en: 12 Junio 2006, 19:33 pm »

OK...Connection String:
//set the database engine (which version of access to create the file for)
//i.e. Type 4 -> access 95 & 97; Type 5 = access 2000 - current
DataSource := 'Provider=Microsoft.Jet.OLEDB.4.0' + ';Data Source=' +
  dbName + ';Jet OLEDB:Engine Type=5';

http://www.delphipages.com/threads/thread.cfm?ID=165855&G=165855

he cambiado el :

Jet OLEDB:Engine Type=4, por
Jet OLEDB:Engine Type=5

por ahora funciona, espero que en las próximas sentencias siga funcionando.

un saludo a todos.



En línea

ups!!
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Access 2003
Bases de Datos
elezekiel 1 2,245 Último mensaje 1 Septiembre 2014, 22:51 pm
por XresH
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines