DAO 3.6 Y ACCESS 2003

13/12/2006 - 19:15 por tonid | Informe spam
ESTOY USANDO EN VB.NET LA BIBLIOTECA DAO 3.6 PARA ACCEDER A BASES DE
DATOS EN ACCESS 2003,Y EN MI ORDENADOR NO TENGO NINGUN POBLEMA ,PERO AL
LLEVAR EL EJECUTABLE A OTRO ORDENADOR ME DA EL SIGUIENTE ERROR,

System.TypeInitializationException: The type initializer for
'Marketing_para_ópticas.UpgradeSupport' threw an exception. >
System.Runtime.InteropServices.COMException (0x80040112): Creating an
instance of the COM component with CLSID
{9A8831F0-A263-11D1-8DCF-00A0C90FFFC2} from the IClassFactory failed
due to the following error: 80040112.
at Marketing_para_ópticas.UpgradeSupport..cctor()

SI ALGUIEN ME PUEDE AYUDAR...PUEDE SER UN TEMA DE LICENCIAS?

Preguntas similare

Leer las respuestas

#6 tonid
14/12/2006 - 12:06 | Informe spam
muchas gracias

de donde me bajo las versiones de los componentes COM ?
Respuesta Responder a este mensaje
#7 SoftJaén
14/12/2006 - 15:45 | Informe spam
"tonid" preguntó:

de donde me bajo las versiones de los componentes COM ?



Si te refieres a los componentes de la versión 4.0 del motor de datos
Microsoft Jet, desde el siguiente enlace podrás descargar el último Service
Pack, dependiendo de la versión del sistema operativo que utilices:

Cómo obtener el Service Pack más reciente para el motor de base de datos
Microsoft Jet 4.0
http://support.microsoft.com/kb/239114/

Y si te refieres a los componentes de la biblioteca Microsoft Remote Data
Object 2.0, pues no tengo ni idea, porque nunca he utilizado dicha
biblioteca. No obstante, el archivo de la citada biblioteca se llama
«Msrdo20.dll», y por regla general se localiza en la carpeta de sistema de
Windows. Cópialo e intenta registrarlo mediante la utilidad «Regsvr32.exe».
Desde una ventana DOS, ejecuta lo siguiente:

Regsvr32 C:\Carpeta\Msrdo20.dll


Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.
Respuesta Responder a este mensaje
#8 tonid
14/12/2006 - 18:56 | Informe spam
de nuevo muchisimas gracias,

me sigue sin funcionar ,así que tengo 2 soluciones

1
¿Como puedo saber que biblioteca tengo referenciada y cual estoy
usando realmente,porque esta biblioteca rdo,veo que la tengo en
referencias en la pestaña COM,pero como se cual estoy usando
realmente?¿Puede ser que sólo por el hecho de refernciarla ya me de
problemas,o es una tontería?
2
La otra es dejarme de DAO y ponerme las pilas con la nueva biblioteca(q
me direis que es lo que tengo que hacer ,pero en mi proceso de
migración creí que podría seguir utilizandolo en el cliente)

SoftJaén ha escrito:

"tonid" preguntó:
>
> de donde me bajo las versiones de los componentes COM ?

Si te refieres a los componentes de la versión 4.0 del motor de datos
Microsoft Jet, desde el siguiente enlace podrás descargar el último Service
Pack, dependiendo de la versión del sistema operativo que utilices:

Cómo obtener el Service Pack más reciente para el motor de base de datos
Microsoft Jet 4.0
http://support.microsoft.com/kb/239114/

Y si te refieres a los componentes de la biblioteca Microsoft Remote Data
Object 2.0, pues no tengo ni idea, porque nunca he utilizado dicha
biblioteca. No obstante, el archivo de la citada biblioteca se llama
«Msrdo20.dll», y por regla general se localiza en la carpeta de sistema de
Windows. Cópialo e intenta registrarlo mediante la utilidad «Regsvr32.exe».
Desde una ventana DOS, ejecuta lo siguiente:

Regsvr32 C:\Carpeta\Msrdo20.dll


Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.
Respuesta Responder a este mensaje
#9 SoftJaén
14/12/2006 - 19:17 | Informe spam
"tonid" escribió:

me sigue sin funcionar



¿Has registrado la biblioteca? ¿Qué mensaje de error obtienes? ¿Sigues
obteniendo el mismo mensaje de error? ¿Qué código se está ejecutando cuando
obtienes la excepción? Coméntanos algo, porque de lo contrario, va a ser
complicado, no el ayudarte, si no el intentar ayudarte.

¿Como puedo saber que biblioteca tengo referenciada y cual estoy
usando realmente,porque esta biblioteca rdo,veo que la tengo en
referencias en la pestaña COM,pero como se cual estoy usando
realmente?¿Puede ser que sólo por el hecho de refernciarla ya me de
problemas,o es una tontería?



¡Bueno! Digo yo que tú sabrás el código que has escrito. :-)

Para ver las referencias del proyecto, abre las propiedades del proyecto y
selecciona la ficha «Referencias». Si estás completamente seguro que tu
código fuente no utiliza la biblioteca Microsoft Remote Data Object 2.0,
puedes eliminar dicha referencia, pero entonces ¿a qué puede deberse que
obtengas la excepción que en principio nos comentástes?

Desde luego, sin ver código fuente alguno, insisto que va a ser complicado
intentar solucionar el problema.

La otra es dejarme de DAO y ponerme las pilas con la nueva biblioteca(q
me direis que es lo que tengo que hacer ,pero en mi proceso de
migración creí que podría seguir utilizandolo en el cliente)



Yo entiendo que es lo mejor que puedes hacer. Como ya te indiqué, las dos
bibliotecas llevan tiempo declaradas tecnología de acceso a datos obsoleta.
Si con Visual Basic 6.0, ya estaba desaconsejada su utilización, más aún lo
están con Visual Basic .net.

Si estás trabajando con .net, lo habitual y correcto es que te acostumbres a
utilizar los proveedor de datos .net: el proveedor de datos Ole Db para
acceder a bases de datos Microsoft Access 2003 y versiones anteriores, y el
proveedor de datos SqlClient si tienes pensado utilizar bases de datos
Microsoft SQL Server.

Ahora bien, si has migrado tu aplicación tal cual, lo único que deberás de
procurar es que en el equipo cliente estén instalados y registrados los
mismos componentes COM que has utilizado en el desarrollo del proyecto, y se
correspondan con la versión del sistema operativo instalado en el PC
cliente, para que de esa forma, funcione tu aplicación tan bien como en el
PC de desarrollo. Por ejemplo, hay versiones distintas del motor Microsoft
Jet, dependiendo de la versión de Windows que se ejecute en un equipo, tal y
como se detalla en el artículo de la Base del Conocimiento que te indiqué
anteriormente.

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.
Respuesta Responder a este mensaje
#10 tonid
14/12/2006 - 19:43 | Informe spam
Esta es la parte de codigo donde no funciona en el cliente y me sigue
dando el mismo error

dbdatos = DAODBEngine_definst.OpenDatabase(path & "\datos.mdb")
recDatos = dbdatos.OpenRecordset("SELECT * FROM Datos_Grupo")
recDatos.Edit()
recDatos.Fields("Dato").Value = Indice
...
¿Que bilioteca tengo que referenciar ?

¿Si salta por un error en la biblioteca Microsoft Remote Data Object
2.0,será porque la usa no?


SoftJaén ha escrito:

"tonid" escribió:

> me sigue sin funcionar

¿Has registrado la biblioteca? ¿Qué mensaje de error obtienes? ¿Sigues
obteniendo el mismo mensaje de error? ¿Qué código se está ejecutando cuando
obtienes la excepción? Coméntanos algo, porque de lo contrario, va a ser
complicado, no el ayudarte, si no el intentar ayudarte.

> ¿Como puedo saber que biblioteca tengo referenciada y cual estoy
> usando realmente,porque esta biblioteca rdo,veo que la tengo en
> referencias en la pestaña COM,pero como se cual estoy usando
> realmente?¿Puede ser que sólo por el hecho de refernciarla ya me de
> problemas,o es una tontería?

¡Bueno! Digo yo que tú sabrás el código que has escrito. :-)

Para ver las referencias del proyecto, abre las propiedades del proyecto y
selecciona la ficha «Referencias». Si estás completamente seguro que tu
código fuente no utiliza la biblioteca Microsoft Remote Data Object 2.0,
puedes eliminar dicha referencia, pero entonces ¿a qué puede deberse que
obtengas la excepción que en principio nos comentástes?

Desde luego, sin ver código fuente alguno, insisto que va a ser complicado
intentar solucionar el problema.

> La otra es dejarme de DAO y ponerme las pilas con la nueva biblioteca(q
> me direis que es lo que tengo que hacer ,pero en mi proceso de
> migración creí que podría seguir utilizandolo en el cliente)

Yo entiendo que es lo mejor que puedes hacer. Como ya te indiqué, las dos
bibliotecas llevan tiempo declaradas tecnología de acceso a datos obsoleta.
Si con Visual Basic 6.0, ya estaba desaconsejada su utilización, más aún lo
están con Visual Basic .net.

Si estás trabajando con .net, lo habitual y correcto es que te acostumbres a
utilizar los proveedor de datos .net: el proveedor de datos Ole Db para
acceder a bases de datos Microsoft Access 2003 y versiones anteriores, y el
proveedor de datos SqlClient si tienes pensado utilizar bases de datos
Microsoft SQL Server.

Ahora bien, si has migrado tu aplicación tal cual, lo único que deberás de
procurar es que en el equipo cliente estén instalados y registrados los
mismos componentes COM que has utilizado en el desarrollo del proyecto, y se
correspondan con la versión del sistema operativo instalado en el PC
cliente, para que de esa forma, funcione tu aplicación tan bien como en el
PC de desarrollo. Por ejemplo, hay versiones distintas del motor Microsoft
Jet, dependiendo de la versión de Windows que se ejecute en un equipo, tal y
como se detalla en el artículo de la Base del Conocimiento que te indiqué
anteriormente.

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida