2009-10-06 11 views
2

Je travaille sur un projet où j'ai besoin d'extraire des données d'une table de base de données MSSQL, puis d'insérer les données dans une table de la même structure sur un AS400. Le SqlBulkCopy serait le candidat idéal pour cette opération, mais échoue (compréhensible) parce que l'AS400 utilise une connexion ODBC.Comment puis-je effectuer un SqlBulkCopy (équivalent) en utilisant une connexion ODBC en C#?

Toute aide ou suggestion à ce sujet serait grandement appréciée!

Merci

+0

Comment laorge est l'ensemble de données avec lequel vous travaillez? –

+0

Quelles sont les méthodes disponibles pour importer dans AS400? –

Répondre

0

Si cela est une seule fois la tâche, je serais probablement extraire les données de MSSQL dans un fichier CSV. Ensuite, déposez le fichier CSV dans un dossier IFS sur l'AS/400, puis utilisez CPYFRMIMPF. Vous devrez peut-être jouer à des jeux avec le format de date pour correspondre aux formats AS/400. Vous pouvez spécifier les formats de date et d'heure et les séparateurs dans la commande CPYFRMIMPF.

Si cela doit être une tâche répétable, alors j'espère que quelqu'un d'autre a une meilleure réponse.

+0

Merci pour cela, malheureusement c'est une mise à jour quotidienne - à la fin je viens de créer une datatable pour chaque table dans la base de données, puis bouclé les lignes en créant une requête d'insertion en lots de 50 et ensuite renvoyé à l'AS/400 faire l'insertion. Pas exactement comme je l'avais imaginé, mais cela fonctionne, et le regroupement en groupes de 50 empêche Movex de ralentir trop et ne laisse pas trop de connexions ouvertes! – Matt