2016-04-25 2 views
1

Okay, also ich habe im Grunde eine riesige Excel-Liste mit zwei Spalten, ID und Wert. Ich möchte eine Employee-Tabelle in meinem SQL aktualisieren und eine Spalte in dieser Tabelle setzen, die dem Wert aus der Excel-Datei entspricht, wobei die ID der Excel-Datei der ID der Employee-Tabelle entspricht.Aktualisieren einer Tabelle basierend auf einer Excel-Datei ohne Excel-Funktionalität?

Ich habe andere ähnliche Fragen untersucht und sie verwenden OpenRowSet und andere SQL-Excel-Funktionalität, aber leider sieht es so aus, als ob unser DBA nichts davon installiert hat. Was kann ich als Alternative zum Aktualisieren dieser Tabelle tun?

Was ich versucht habe, habe ich zwei XML-Listen erstellt und jede Spalte der DB in eine temporäre Tabelle getrennt, so dass ich jetzt zwei temporäre Tabellen, eine für jede Excel-Spalte habe, aber jetzt lese ich diese Kombination zwei Tabellen ohne einen gemeinsamen Bezeichner ist wirklich schlechte Übung, also bin ich wieder auf Platz eins.

+0

Verstehe ich richtig? Sie dürfen keine T-SQL Kommandos an/auf dem SQL Server senden/ausführen? Oder dürfen Sie den SQL-Server direkt abfragen, aber innerhalb der VBE finden Sie keinen Verweis auf 'Microsoft ActiveX Data Objects 2.X oder 6.0 Libraray'? Oder ist es noch etwas anderes? – Ralph

+0

Ich kann keine Referenz finden, was das Problem zu sein scheint. – proseidon

+0

Wenn Sie die ADO-Bibliothek nicht finden (die normalerweise mit Windows geliefert wird), können Sie sie kostenlos von dieser Quelle installieren: https://support.microsoft.com/en-us/kb/168335 Aber bevor Sie das tun. Versuchen Sie, die folgende Codezeile auszuführen, um zu sehen, ob Sie eine Fehlermeldung erhalten: 'Dim conn1 As Object: Set conn1 = CreateObject (" ADODB.Connection ")'. Wenn das ohne Probleme läuft, dann haben Sie definitiv "ADO" installiert und können es benutzen. – Ralph

Antwort

0

Sie können dies einfach mit SSIS tun. Sie können Excel-Quelle, Suchtransformation oder Merge-Join und OLE DB-Ziel verwenden.

Verwandte Themen