Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/08/2010, 13:05
Avatar de CieloEterno
CieloEterno
 
Fecha de Ingreso: marzo-2006
Ubicación: México
Mensajes: 52
Antigüedad: 18 años, 2 meses
Puntos: 0
Exclamación Insert Into con Select = De ODBC a Sql Server

Hola tengo una conexión con ODBC a una base de Cobol

string ConnStrCobol = "DSN=XXXdata;UID=sdasd;PWD=;server=192.168.0.1 10";

y otra a una base de datos en SQL Server

string ConnStrSQL = "Data Source=192.168.0.105;user=yop;password=dlkjfkd;DAT ABASE=Reps_Test;"

Actualmente la aplicación, consulta los datos en cobol, lo hace pasar por un ciclo para la inserción de registro por registro, son bastantes tablas y millones de registros.

Las tablas en cobol tiene más de 500 campos, así que estoy usando un select *

consultaCobol = "SELECT * FROM " + lineaTabla;


Habrá alguna manera de hacer la ejecución de un insert into con select entre estas bases?

string consulta = "Insert into " + tablaSQL + " values " + consultaCobol;

Y cómo debería colocarse el código de ejecución del query?

He estado buscando, y lo más que he hallado es de un chico llamado Antonio, pero no sé como emularlo en C#

Código:
Autor: 	
 antonio	 2.744 
Fecha: 	 16/11/2008 18:19:48
  Asunto: 	 RE:INSERT INTO ENTRE DOS BASES DE DATOS DIFERENTES
vale ya tengo la solucion , aqui dejo dos ejemplos uno de insert into y otro de update para que al que le haga falta se haga una idea. 
Saludos.: 
Dim adodb5 As ADODB.Connection 

adodb5 = New ADODB.Connection 

adodb5.Open("PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=" & Server.MapPath("CGI-BIN/CARRERAS/" & Session("BASEDATOS"))) 

adodb5.Execute("insert into inscritos IN '' [;DATABASE=" & Server.MapPath("CGI-BIN/panel1.mdb") & "] select cod_cor , (lapoblacion) as nom_pob, (elclub) as nom_eq , nom_cor,dni_cor, carrera,procedencia, sex_cor,local_sn,minus_sn, socio_sn,federado,email,fna_cor, cat_cor,dom_cor, pob_cor, cantidad, chip, tiempoedicionanterior, (clu_cor) as cod_eq from corredor WHERE carrera='" & Session("usuario") & "'" & " and dni_cor not in (SELECT dni_cor FROM INSCRITOS IN '' [;DATABASE=" & Server.MapPath("CGI-BIN/PANEL1.MDB" & "] where carrera='" & Session("usuario") & "'" & ")")) 

adodb5.Close() 

Dim adodb6 As ADODB.Connection 

adodb6 = New ADODB.Connection 

Dim RST As ADODB.Recordset 

RST = New ADODB.Recordset 

adodb6.Open("PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=" & Server.MapPath("CGI-BIN/carreras/") & Session("BASEDATOS")) 

adodb6.Execute("UPDATE([corredor])INNER JOIN [;Database=" & Server.MapPath("cgi-bin/panel1.mdb") & "].[inscritos] ON [inscritos].dni_cor = [corredor].dni_cor SET [inscritos].nom_cor = [corredor].nom_cor WHERE([inscritos].dni_cor = [corredor].dni_cor)")
Alguna idea?
__________________
Aquel que no tiene nada por lo cual morir, no tiene nada por que vivir