2010-09-17 8 views
0

Ma procédure stockée utilise la tâche d'insertion en bloc. Conformément à l'exigence de Bulk Insert, le fichier texte doit se trouver sur le même serveur que la base de données.Comment lire/écrire ou copier/coller le fichier texte localement en utilisant la procédure stockée?

Maintenant, le fichier réside sur une autre machine. Mais le serveur de base de données peut accéder au fichier en utilisant un lecteur réseau partagé.

La question suivante est Comment ma procédure stockée peut-elle lire ou copier le fichier à partir du lecteur réseau et l'écrire ou le coller localement avant d'exécuter l'insertion en bloc?

Merci

Répondre

1

Vous pouvez enable xp_cmdshell et l'utiliser pour émettre une commande copy à la coquille.

Mais alors, pourquoi auriez-vous besoin de cela? SQL Server supports bulk insert from remote locations.

+0

Hey j'ai essayé l'encart en vrac où le fichier est sur l'emplacement distant et passé correctement UNC, ne fonctionne toujours pas pour moi ... – Jango

+0

@Crawling C'est généralement parce que le compte sous lequel SQL Server s'exécute (service local?) N'a pas accès aux partages réseau. Attribuez-lui un compte différent pour exécuter sous. – GSerg

+0

Donc changé le compte pour le service réseau. Ça a marché. Merci – Jango

Questions connexes