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
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
Respuesta de Jose Mari Madinabeitia
1