2009-08-31 5 views
2

Je suis confronté à un problème, alors que j'importe un fichier Excel dans SQL Server 2005 en utilisant OpenRowSet, il fonctionne bien lorsque le fichier Excel est fermé, Si le fichier Excel est ouvert, il donne un message d'erreur. J'ai un fichier Excel qui est mis à jour 8 à 10 fois dans une minute par un logiciel tiers, je dois importer ce fichier Excel dans SQL Server 2005 très 10 secondes.Importer fichier Excel ouvert dans Sql Server

Toute aide serait extrémement appriciated ......... Merci , Yogi

Répondre

0

Comment savez-vous quelles lignes que vous voulez importer si le fichier est constamment mis à jour? Avez-vous une sorte de numéro de séquence afin que vous puissiez détecter les lacunes? Si vous voulez vraiment exécuter quelque chose comme vous l'avez suggéré, alors pourquoi ne pas configurer un processus pour copier le fichier de feuille de calcul Excel périodiquement et ensuite obtenir votre code OPENROWSET à lire à partir de cette copie.

+0

Merci pour votre réponse. Je vais supprimer toute la ligne dans la table SQL, puis importer les enregistrements complets à partir du fichier Excel dans le serveur SQL. – Yogi

0

Je pense que c'est un principe général qu'un fichier ne peut pas, ou ne devrait pas, être accessible alors qu'il est ouvert et écrit dans un autre programme.

Comment le conflit est-il résolu si une partie du fichier est simultanément écrit et lu? Cela étant dit, j'ai rencontré une situation sur l'un des ordinateurs que j'utilise (pas Excel, pas Windows, pas même un PC, donc ce n'est guère pertinent) où pourrait télécharger des fichiers ouverts par FTP.

Mais j'utilise un autre ordinateur pratiquement identique où ce n'est pas possible. Je ne sais pas pourquoi, mais il me semble être la situation normale.

Cette idée de copier un fichier et d'opérer sur la copie correspond à ce que pjp a dit. Si vous pouvez vous en sortir ... La fréquence d'accès dont vous avez besoin, Yogi, semble invoquer un conflit entre la lecture et l'écriture.

0

Est-ce mauvais si vous arrêtez simplement l'importation lorsque vous obtenez l'erreur et attendez 10 secondes jusqu'à la prochaine importation?

+0

Merci pour votre réponse .. Comment je prédis que c'est le moment où le fichier Excel n'est pas modifié afin que je puisse commencer mon importation à SQL? Je n'ai pas accès à l'outil tiers pour y apporter des modifications pour faire la copie de ce fichier Excel à chaque mise à jour. Je dois écrire un proc Stroed qui va gérer ce – Yogi

Questions connexes