Oracle BulkCopy Type Matching

c# odp.net oracle sqlbulkcopy ssis

Domanda

Sto usando SSIS per i trasferimenti di tabelle tra diversi DB. Poiché non è specifico per una sorgente e una destinazione e SSIS non ha una mappatura dinamica delle colonne, ho implementato uno script su C # utilizzando OracleBulkCopy e SqlBulkCopy per la scrittura nella destinazione, che ovviamente vengono utilizzati a seconda dei tipi di DB. Correggetemi se sbaglio, ma penso che questa sarebbe la soluzione più performante, utilizzando i driver specifici forniti direttamente da Oracle o Microsoft, giusto? Ad ogni modo, sto avendo un problema.

Oracle Script Error Sto cercando di copiare una vista su un tavolo, entrambi in Oracle. Non sono sicuro che questo errore sia ciò che penso, ma suppongo che i tipi di colonna non corrispondano correttamente. Tutti i nomi delle colonne corrispondono, quindi non devo fare alcuna mappatura, ma potrebbero esserci alcune differenze nei tipi, ad esempio voglio copiare un VARCHAR in un NUMERO tra gli altri. OracleColumnMapping funziona solo per i nomi delle colonne e non per i tipi da quello che ho trovato.

Quindi, ho ragione di presumere che il tipo di mancata corrispondenza è il problema, e se sì, c'è un modo per impostare BulkCopy per forzare il casting dei tipi sulla tabella di destinazione? Sarebbe bello se potesse essere impostato come opzione per digitare automaticamente il cast di tutte le colonne, e non con il mapping, ma qualsiasi soluzione per favore fatemelo sapere.

PS: Penso che lo stesso funzionerebbe anche per SqlBulkCopy, ma ho anche bisogno di una soluzione per questo se non, anche se non l'ho ancora provato su MSSQL.

Grazie a tutti coloro che aiutano.

Risposta popolare

A mio parere, trovo più facile usare i pacchetti SSIS (.dtsx) per effettuare trasferimenti da un DB Oracle a un DB SQLServer. E il cast può essere facilmente realizzato utilizzando la toolbox. C # non è necessario per tali operazioni.



Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché