Transacciones SQL a diferentes orígenes de los datos

Necesito sacar cíclicamente unos datos que están en un sistema Sybase, otros que están en access y alimentar con ellos una base MySQL que a su vez se utiliza para alimentar un web con PHP.
A Sybase accedo exclusivamente por un ODBC de sólo lectura que nos ha proporcionado la empresa ->DSN de sistema "Acceso al informacional" .
He instalado también el driver de ODBC para MySQL ->DSN de archivo mySQL. Dsn
El caso es que si lo vinculo todo desde access, puedo hacer todos las consultas que quiera, sacando un campo de cada origen o bien actualizar el MySQL con los datos relacionados del Sybase y access.
Tengo que automatizar el proceso y estoy haciendo pruebas con .net. Logro conectarme con cada Origen:
'Conectando a Access ... Por ejemplo:
            Dim connectionString As String
            Dim odbCnn As System.Data.OleDb.OleDbConnection
            path_Bd = TextBoxRuta.Text
           connectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data source=" & path_Bd
            odbCnn = New OleDb.OleDbConnection(connectionString)
            odbCnn.Open()
' conectamos al Sybase ..por ejemplo
            Dim odsCnn As New ADODB.Connection
            odsCnn.Open("dsn=Acceso al informacional;uid='" & strUser & "';pwd='" & strPassword & "';")
'Conectando a mySQL ... Así
            Dim myCnn As New ADODB.Connection
            Dim myConnectionString = "FILEDSN=mySQL.dsn; UID=root;PWD=password;DATABASE=mybase"
            myCnn.Open(myConnectionString)
o bien
'Conectando a mySQL ... Así
            Dim myCnn As System.Data.Odbc.OdbcConnection
            Dim myConnectionString = "Driver={MySQL ODBC 5.1 Driver};Server=localhost;    Database=mybase; User=root; Password=password;Option=3;"
            myCnn = New System.Data.Odbc.OdbcConnection(myConnectionString)
            MyCnn. Open()
El caso es que puedo hacer consultas independientes a cada origen de los datos. Por ejemplo:
strSQL = "TRUNCATE TABLE incidencias;"
            MyCnn. Execute(strSQL)
Pero no soy capaz de hacer un select con un campo de cada tabla o insertar registros en MySQL con una columna de cada origen.
No encuentro ningún ejemplo. A ver si me puedes ilustrar.
Muy agradecido

1 respuesta

Respuesta
1
El caso que me planteas, es algo parecido a lo que tienen en un cliente que tengo y la verdad es que yo tampoco he logrado realizar algo parecido a lo que me planteas.
Aunque parezca difícil de creer, yo he optado por hacer todas las select, insert, deletes, etc desde el gestor de base de datos que me permite realizar todo compatible. En tu caso sería desde access por lo que cuentas.
Yo creo personalmente que muchas veces es mejor dejarse de complicaciones y si consigues que desde una bd accedas al resto de sitios, seguir así.
Me imagino que con la chapa que te he metido no re abre sido muy útil, pero también creo que a veces hay que ser practico y dejarse de complicaciones.
Para lo que quieras, aquí estoy.
Hola, gracias por tu respuesta. Ahora ya lo estoy haciendo manualmente desde access pero el problema es que al ejecutar las consultas, el sistema me solicita cada vez el usuario y contraseña.
Intentaba automatizarlo con .net ya que en las cadenas de conexión van los parámetros de usuario y contraseña y el sistema puede ser autónomo, mientras que desde access siempre habrá que estar presente para meter el usuario y la contraseña en cada conexión al origen de los datos.
He estado probando el "automate 7" que se ocupa, entre otras muchas cosas de lanzar el access cada cierto intervalo y meter datos en los campos que se precisen y funciona muy bien, pero es un programa de pago y no me parece ético usarlo para mi empresa que no está dispuesta a pagarlo.
Seguiré buscando a ver si encuentro la solución.
En cualquier caso muchas gracias.
Un cordial saludo
Que la empresa tenga que pagar software en mi caso también me parece ciencia ficción...
En fin, suerte...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas