Je reçois souvent des demandes qui ressemblent à ceci :
"Hey, can you reconcile this Excel spreadsheet with our database and
fill in the additional info for the ones you find? We also need to know
which ones are missing."
ID Name Client AdditionalInfo
------------------------------------------
234 John Client1
147 Mike Client2
546 Mary Client3
...
(Several hundred or thousand more rows)
Existe-t-il un moyen de prendre une telle feuille de calcul Excel et de la joindre à une base de données SQL dans SQL Server Management Studio ? En général, je copie le ID
pour faire un massif IN
ce qui est évidemment loin d'être idéal. Ensuite, il me reste à aligner les données si je n'obtiens pas une correspondance 1:1 pour chaque ligne.
J'utilise SQL Server 2005 et Excel 2010.
J'ai essayé d'ajouter une feuille de calcul Excel en tant que serveur lié, mais l'interrogation de ce dernier m'a averti que 'Ad Hoc Distributed Queries'
sont bloqués et doivent être activés. Je ne suis pas sûr des implications négatives que cette activation peut avoir, je n'ai donc pas poursuivi dans cette voie.
J'ai ensuite pensé à utiliser les formules d'Excel pour faire une SELECT [Col_A], [Col_B], [Col_C] UNION ALL
pour chaque ligne dans Excel, puis copier cela dans SSMS pour créer une table temporaire que je pourrais joindre... mais cela semble encore être un hack assez désordonné et inefficace