Visual Basic - CONECTARSE A VARIAS BASES DE DATOS

Life is soft - evento anual de software empresarial
 
Vista:

CONECTARSE A VARIAS BASES DE DATOS

Publicado por Emilio (83 intervenciones) el 22/07/2009 04:20:09
Hola Amigos:

Tengo las siguientes dudas?

Es`posible conectarse a dos o mas bases de datos en access, en um mismo proyecto?
Si es posible, cual seria el precedimiento y como se ajustarian las sentencias sql, ya que imagino que tocaria inlcuir en ellas la base de datos ademas de la tabla.

Agradezco sus comentarios o indicacion de donde puedo conseguir informacion al respecto.

Muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:CONECTARSE A VARIAS BASES DE DATOS

Publicado por JaImE GuErReRo (361 intervenciones) el 22/07/2009 16:23:47
hasta donde se se tiene que usar dos conexiones distintas, una para cada base de datos. ya que en la conexion siempre pones la ruta del archivo.

Al menos que te crees una base de datos intermedia, en la que crees tablas vinculadas tus dos bases de datos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:CONECTARSE A VARIAS BASES DE DATOS

Publicado por Gerardo (19 intervenciones) el 24/07/2009 02:17:45
Buenas tarde Emili

Mira yo creo que con buenas intenciones no se solucionan los problemas y creo que cuando desconocemos mejor debemos de mantenernos al marjen, esto te lo digo por el comentario de Jaime.

Al grano si se pueden conectar dos bases de datos, este problema se me presento en una aplicacion que estoy desarrollando en VB y el panorama es el siguiente tengo yo dos bases de datos de PARADOX base1 con tabla1 y base2 con tabla2 te lo pngo asi, ya que en paradox la la BD y la tabla regularmente se llaman igual, el codigo es el siguiente

'//seccion de declaraciones

Dim Dato As Variant

Dim db As Connection
Dim WithEvents adoPrimaryRS As ADODB.Recordset

'//seccion del procedimiento

Set db = New ADODB.Connection
db.CursorLocation = adUseClient

'//Esta es la conexion a la base de datos, en este caso estoy haciendo una
'//conexion mediante un dsn que creo en herramientas administrativas
'//conexiones ODBC y es un dsn de sistema para cargar el controlador de
'// PARADOX, pero esto tu lo puedes cambiar para Bases de ACCESS que
'// supongo es lo que quieres hacer.

db.Open "PROVIDER=MSDASQL;dsn=Paradox;uid=;pwd=;"

Set adoPrimaryRS = New ADODB.Recordset

'// Cadena SQL
Dato = "SELECT Uno.CLV_ART, Dos.DESCR, Dos.UNI_ALT, Uno.EXIST " & _
" FROM " & _
" Base1.DB Uno INNER JOIN " & _
" Base2.DB Dos ON Uno.CLV_ART = Dos.CLV_ART " & _
" WHERE Uno.ALMACEN = 'Lo que quieras'"

'// Abrimos el record set y listo, tenemos los campos de una base de datos y
'// los de otra unidos por el campo CLV_ART que es comun en ambas BD

adoPrimaryRS.Open Dato, db, adOpenStatic, adLockOptimistic

Saludos espero te sirva.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:CONECTARSE A VARIAS BASES DE DATOS

Publicado por JaImE GuErReRo (361 intervenciones) el 24/07/2009 16:33:23
mira quien habla de desconocimiento

Cuando se tiene las bases de datos en un servidor, como sql, oracle o inclusive el que indicas si se puede, ya que la cadena de conexion la haces al servidor. pero en access es distinto, ya que la cadena de conexion la haces a un archivo de base de datos. al ser, cada base de datos archivos independientes no puedes hacer lo que indicas.

asi que, te doy el mismo consejo que me diste. mantente al margen. ;-)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:CONECTARSE A VARIAS BASES DE DATOS

Publicado por Gerardo (19 intervenciones) el 27/07/2009 00:19:42
Buenas tarde Jaime

Mira nuevamente te hago el mismo comentario, tu Servidor y Emilio en ningun momento estamos hablando de ningun servidor, en concreto yo estoy hablando de una computadora unica y no conectada a ningun servidor, y lo que le estoy indicando es una conexion de dos bases de datos de Paradox, si lo que el quiere es conectar dos tablas de dos bases de datos de Access toma nota:

Dim dato As Variant
Dim db As Connection
Dim RS As Recordset

Set db = New Connection
db.CursorLocation = adUseClient
db.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=C:ase1.mdb;"

Set RS = New Recordset

dato = "SELECT Uno.Campo1, Uno.Campo2, Uno.Campo3, " & _
"Dos.Campo1, Dos.Campo2 FROM TablaDeBase1 Uno INNER JOIN " & _
"C:ase2.TablaDeBase2 Dos " & _
" ON Uno.CampoComun = Dos.CampoComun " & _
" ORDER BY Uno.Campo1 DESC"

RS.Open dato, db, adOpenStatic, adLockOptimistic

P.D. Jaime, Lee e Investiga un Poco
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:CONECTARSE A VARIAS BASES DE DATOS

Publicado por JAIRO AUDOR (1 intervención) el 13/06/2016 04:37:45
Gerardo,

Me parecen muy buenos sus comentarios y ayuda que ofrece en este foro. Lo felicito.

Le quiero hacer una consulta:
Tengo un proyecto en Visual Studio 2015 con lenguaje VB y quisiera que me colaborara indicándome como hago desde un mismo proyecto a conectarme simultáneamente a varias bases de datos MS SQL SERVER 2014 EXPRESS.

La cuestión es que al utilizar el motor de sql server 2014 express, que tiene un limite máximo de 10 GB, lo he diseñado así ya que mi cliente maneja un alto volumen de transacciones contables y de movimientos de inventarios, y si dejo todo en una sola base de datos es posible que en un año y medio o menos haya superado el limite de los 10 GB de capacidad, y me comiencen los problemas.

No se si me he hecho entender. Me encuentro en Zipaquirá (Cundinamarca) COLOMBIA.

Le agradezco la ayuda que me pueda brindar en esto, ya que veo en los foros Usted es un buen conocedor en el tema de visual studio y de hecho en bases de datos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:CONECTARSE A VARIAS BASES DE DATOS

Publicado por Gerardo (19 intervenciones) el 27/07/2009 00:36:42
Nuevamente el Codigo, porque salio con caracteres raros

Dim dato As Variant
Dim db As Connection
Dim RS As Recordset

Set db = New Connection
db.CursorLocation = adUseClient
db.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=C:ase1.mdb;"

Set RS = New Recordset

dato = "SELECT Uno.Campo1, Uno.Campo2, Uno.Campo3, " & _
"Dos.Campo1, Dos.Campo2 FROM TablaDeBase1 Uno INNER JOIN " & _
"C:ase2.TablaDeBase2 Dos " & _
" ON Uno.CampoComun = Dos.CampoComun " & _
" ORDER BY Uno.Campo1 DESC"

RS.Open dato, db, adOpenStatic, adLockOptimistic

Emilio, esto lo probe con dos BD de Acces 97, XP y 2003

Espero se lo que buscabas

Saludos y Hasta Pronto
Gerardo

P.D. Para Jaime, yo no soy un experto en la programacion, pero si me gusta ponerme a investigar y a probar y de la prueba y error aprendes mucho, Ha y no te enojes y disculpa mi comentario.

Caso Cerrado....................
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:CONECTARSE A VARIAS BASES DE DATOS

Publicado por gerardo (19 intervenciones) el 27/07/2009 00:42:14
No se que pasa,

pero despues de C: va "" no se porque entra este caracter raro, pero se entiende
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:CONECTARSE A VARIAS BASES DE DATOS

Publicado por gerardo (19 intervenciones) el 27/07/2009 00:46:23
perdon va la diagonal no comillas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:CONECTARSE A VARIAS BASES DE DATOS

Publicado por Paulina (1 intervención) el 30/07/2009 00:04:50
Hola gerardo lo mismo puede funcionar para conectar una base de datos externa es decir tengo una base de datos en SAP bissnes one, como una tabla interna inicialmente esta tabla ya la tengo dentro de un modulo de SAP y esta en sql 2005 adicional a ello estoy desarrollado un porgrama de automatizacion y requiero una base de datos local ya que es dificil que un scada que es un programa al cual un PLC le entrega unos datos para procesarlos lleve estos datos a esa base de datos interna que esta en SQL2005, bueno en fin nesecitaria conectar ambas bases de datos ambas en sql 2005 pero con campos y nombre de tabals diferentes


podrias ayudarme

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:CONECTARSE A VARIAS BASES DE DATOS

Publicado por Gerardo (19 intervenciones) el 31/07/2009 16:32:02
Hola Paulina

Mira como comente no soy muy experto, pero me gusta investigar y leer por aqui y por aya, y bueno ayer encontre este link en la pagina del guille y creo que te va a servir para lo que preguntas

http://www.elguille.info/vb/bases/ADO/SQLServer2005_Visual_Basic_6.htm

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:CONECTARSE A VARIAS BASES DE DATOS

Publicado por Gerardo (19 intervenciones) el 31/07/2009 20:48:26
Tambien checate este link a ver si te sirve de algo

http://www.elguille.info/colabora/vb/luiscarro_DCOM_Introduccion.htm

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar