Frage

ich habe ein Problem mit meinem SQL-Skript mit:

SELECT  
  SP.[MobileNumber],  
  SP.[LastName],  
  SP.[FirstName]  
FROM SampleTable1 SP  
INNER JOIN OPENROWSET  
(  
  'Microsoft.Jet.OLEDB.4.0',  
  'Excel 8.0;Database=C:\devpc11\sample.xls;',  
  'SELECT   
     MobileNumber,   
     LastName,  
     FirstName  
   FROM [SampleData$]') T  
ON SP.[MobileNumber] = T.[MobileNumber]  
GO

Wenn ich versuche, dies auszuführen, es erzeugt diesen Fehler:

Msg 7357, Stufe 16, Status 2, Zeile 1 Kann das Objekt nicht verarbeiten „SELECT Handynummer, Familienname, Nachname, Vorname FROM [Sample $]“. Der OLE DB-Provider‚Microsoft.Jet.OLEDB.4.0‘für den Verbindungsserver‚(null)‘zeigt an, dass entweder das Objekt keine Spalten oder der aktuelle Benutzer keine Berechtigungen für das Objekt.

Gibt es eine Lösung für dieses? Ich kann wirklich nicht in den letzten 3 Stunden finden .. Grundsätzlich möchte ich nur Daten aus einer Excel-Datei manipulieren, dann speichern Sie es auf SQL Server 2005-Datenbank, aber jetzt möchte ich Daten aus der Excel-Datei abrufen zu der sQL-Server .. danke für die Hilfe ..

War es hilfreich?

Lösung

Ich habe dies mit einem Tabellenkalkulations zur Arbeit vor Ort. vergessen OPENROWSET

  1. Erstellen Sie einen benannten Bereich in Excel spreadheet. Tio Markieren Sie dazu die Spalten (einschließlich Header) Sie möchten, mit der rechten Maustaste und wählen ‚Name einer Reihe‘. Geben Sie diesen einen Namen, das wird Ihr Tabellenname.

    http://www.homeandlearn.co.uk/me/mes9p2.html

  2. Speicher und Ihre Tabelle schließen. SQL Server fähig sein würde nicht auf ihn zugreifen, wenn Sie es hve öffnen.

  3. Fügen Sie einen verknüpften Server. Folgen Sie den Anweisungen in Abschnitt E in der folgenden, die Ihnen sagt, wie eine verknüpfte Server für Excel-Tabellen hinzuzufügen:

    http://msdn.microsoft.com/en-us/library/ ms190479.aspx

  4. Es sollte möglich sein, die DS ganz glücklich abfragen, wieder die Anweisungen folgen.

Hier ist der Code, das funktioniert für mich:

EXEC sp_addlinkedserver 'ExcelSource4',
   'Jet 4.0',
   'Microsoft.Jet.OLEDB.4.0',
   'c:\sqlss.xls',
   NULL,
   'Excel 5.0';
GO

SELECT *
   FROM ExcelSource4...MyTable2;

Und schließlich. Starten Sie einige Antworten zu akzeptieren und stimmen alle hilfreich diejenigen auf. Dies ist das Lebenselixier der Stackoverflow.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top