Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server
SSIS Integration Runtime i Azure Data Factory
OLE DB-källan extraherar data från en mängd olika OLE DB-kompatibla relationsdatabaser med hjälp av en databastabell, en vy eller ett SQL-kommando. OLE DB-källan kan till exempel extrahera data från tabeller i Microsoft Office Access- eller SQL Server-databaser.
Anmärkning
Om datakällan är Microsoft Office Excel 2007 kräver datakällan en annan anslutningshanterare än tidigare versioner av Excel. Mer information finns i Ansluta till en Excel-arbetsbok.
OLE DB-källan innehåller fyra olika dataåtkomstlägen för att extrahera data:
En tabell eller vy.
En tabell eller vy som anges i en variabel.
Resultatet av en SQL-instruktion. Frågan kan vara en parametriserad fråga.
Resultatet av en SQL-instruktion som lagras i en variabel.
Anmärkning
När du använder en SQL-instruktion för att anropa en lagrad procedur som returnerar resultat från en tillfällig tabell använder du alternativet WITH RESULT SETS för att definiera metadata för resultatuppsättningen.
Om du använder en parametriserad fråga kan du mappa variabler till parametrar för att ange värdena för enskilda parametrar i SQL-uttrycken.
Den här källan använder en OLE DB-anslutningshanterare för att ansluta till en datakälla, och anslutningshanteraren anger vilken OLE DB-provider som ska användas. Mer information finns i OLE DB Connection Manager.
Ett Integration Services-projekt innehåller också datakällans objekt som du kan skapa en OLE DB-anslutningshanterare från, vilket gör datakällor och datakällans vyer tillgängliga för OLE DB-källan.
Beroende på OLE DB-providern gäller vissa begränsningar för OLE DB-källan:
Microsoft OLE DB-providern för Oracle stöder inte Oracle-datatyperna BLOB, CLOB, NCLOB, BFILE eller UROWID och OLE DB-källan kan inte extrahera data från tabeller som innehåller kolumner med dessa datatyper.
IBM OLE DB DB2-providern och Microsoft OLE DB DB2-providern stöder inte användning av ett SQL-kommando som anropar en lagrad procedur. När den här typen av kommando används kan OLE DB-källan inte skapa kolumnmetadata och därför har de dataflödeskomponenter som följer OLE DB-källan i dataflödet inga tillgängliga kolumndata och körningen av dataflödet misslyckas.
OLE DB-källan har en regelbunden utgång och en felutgång.
Använda parameteriserade SQL-instruktioner
OLE DB-källan kan använda en SQL-instruktion för att extrahera data. Instruktionen kan vara ett SELECT- eller EXEC-påstående.
OLE DB-källan använder en OLE DB-anslutningshanterare för att ansluta till datakällan som den extraherar data från. Beroende på vilken provider som OLE DB-anslutningshanteraren använder och det relationsdatabashanteringssystem (RDBMS) som anslutningshanteraren ansluter till gäller olika regler för namngivning och lista över parametrar. Om parameternamnen returneras från RDBMS kan du använda parameternamn för att mappa parametrar i en parameterlista till parametrar i en SQL-instruktion. Annars mappas parametrarna till parametern i SQL-instruktionen med deras ordningstal i parameterlistan. Vilka typer av parameternamn som stöds varierar beroende på provider. Vissa leverantörer kräver till exempel att du använder variabel- eller kolumnnamnen, medan vissa leverantörer kräver att du använder symboliska namn som 0 eller Param0. Du bör se den providerspecifika dokumentationen för information om de parameternamn som ska användas i SQL-instruktioner.
När du använder en OLE DB-anslutningshanterare kan du inte använda parametriserade underfrågor eftersom OLE DB-källan inte kan härleda parameterinformation via OLE DB-providern. Du kan dock använda ett uttryck för att sammanfoga parametervärdena till frågesträngen och ange sqlcommand-egenskapen för källan. I SSIS Designer konfigurerar du en OLE DB-källa med hjälp av dialogrutan OLE DB-källredigeraren och mappar parametrarna till variabler i dialogrutan Ange frågeparameter .
Ange parametrar med hjälp av ordinära positioner
Om inga parameternamn returneras styr den ordning i vilken parametrarna visas i listan Parametrar i dialogrutan Ange frågeparameter vilken parametermarkör de mappas till vid körning. Den första parametern i listan motsvarar den första? i SQL-instruktionen, den andra till den andra ?, och så vidare.
Följande SQL-instruktion väljer rader från tabellen Produkt i AdventureWorks2025 databasen. Den första parametern i listan Mappningar mappar till den första parametern till kolumnen Färg , den andra parametern till kolumnen Storlek .
SELECT * FROM Production.Product WHERE Color = ? AND Size = ?
Parameternamnen har ingen effekt. Om en parameter till exempel namnges på samma sätt som kolumnen som den gäller, men inte placeras i rätt ordningsposition i listan Parametrar , använder parametermappningen som inträffar vid körning parameterns ordningstal, inte parameternamnet.
EXEC-kommandot kräver vanligtvis att du använder namnen på variablerna som tillhandahåller parametervärden i proceduren som parameternamn.
Ange parametrar med hjälp av namn
Om de faktiska parameternamnen returneras från RDBMS mappas parametrarna som används av en SELECT- och EXEC-instruktion efter namn. Parameternamnen måste matcha de namn som den lagrade proceduren, som körs av SELECT-instruktionen eller EXEC-instruktionen, förväntar sig.
Följande SQL-instruktion kör den lagrade proceduren uspGetWhereUsedProductID , som är tillgänglig i AdventureWorks2025 databasen.
EXEC uspGetWhereUsedProductID ?, ?
Den lagrade proceduren förväntar sig att variablerna @StartProductID och @CheckDate, anger parametervärden. I vilken ordning parametrarna visas i listan Mappningar är irrelevant. Det enda kravet är att parameternamnen matchar variabelnamnen i den lagrade proceduren, inklusive @-tecknet.
Mappa parametrar till variabler
Parametrarna mappas till variabler som anger parametervärdena vid körningstid. Variablerna är vanligtvis användardefinierade variabler, men du kan också använda de systemvariabler som Integration Services tillhandahåller. Om du använder användardefinierade variabler kontrollerar du att du anger datatypen till en typ som är kompatibel med datatypen för kolumnen som den mappade parametern refererar till. Mer information finns i SSIS-variabler (Integration Services).
Felsöka OLE DB-källan
Du kan logga de anrop som OLE DB-källan gör till externa dataleverantörer. Du kan använda den här loggningsfunktionen för att felsöka inläsningen av data från externa datakällor som OLE DB-källan utför. Om du vill logga de anrop som OLE DB-källan gör till externa dataleverantörer aktiverar du paketloggning och väljer diagnostikhändelsen på paketnivå. Mer information finns i Felsökningsverktyg för paketkörning.
Konfigurera OLE DB-källan
Du kan ange egenskaper programmatiskt eller via SSIS Designer.
Dialogrutan Avancerad redigerare visar de egenskaper som kan anges programmatiskt. Om du vill ha mer information om de egenskaper som du kan ange i dialogrutan Avancerad redigerare eller programmatiskt klickar du på något av följande avsnitt:
Relaterade uppgifter
Mappa frågeparametrar till variabler i en dataflödeskomponent
Sortera data för sammanslagnings- och merge join-transformationer
Relaterat innehåll
OLE DB-källredigeraren (anslutningshanterarsidan)
Använd sidan Anslutningshanteraren i dialogrutan OLE DB-källredigeraren för att välja OLE DB-anslutningshanteraren för källan. På den här sidan kan du också välja en tabell eller vy från databasen.
Anmärkning
Om du vill läsa in data från en datakälla som använder Microsoft Office Excel 2007 använder du en OLE DB-källa. Du kan inte använda en Excel-källa för att läsa in data från en Excel 2007-datakälla. Mer information finns i Konfigurera OLE DB Connection Manager.
Om du vill läsa in data från en datakälla som använder Microsoft Office Excel 2003 eller tidigare använder du en Excel-källa. Mer information finns i Excel-källredigeraren (sidan Anslutningshanterare).
Anmärkning
Egenskapen CommandTimeout för OLE DB-källan är inte tillgänglig i OLE DB-källredigeraren, men kan anges med hjälp av avancerad redigerare. Mer information om den här egenskapen finns i avsnittet Excel Source av Anpassade OLE DB-Egenskaper.
Öppna OLE DB-källredigeraren (sidan Anslutningshanterare)
Lägg till OLE DB-källan i Integration Services-paketet i SQL Server Data Tools (SSDT).
Högerklicka på källkomponenten och klicka på Redigera.
Klicka på Anslutningshanteraren.
Statiska alternativ
OLE DB-anslutningshanteraren
Välj en befintlig anslutningshanterare i listan eller skapa en ny anslutning genom att klicka på Ny.
Ny
Skapa en ny anslutningshanterare med hjälp av dialogrutan Konfigurera OLE DB Connection Manager .
Dataåtkomstläge
Ange metoden för att välja data från källan.
| Alternativ | Beskrivning |
|---|---|
| Tabell eller vy | Hämta data från en tabell eller vy i OLE DB-datakällan. |
| Tabellnamn eller visningsnamnvariabel | Ange tabell- eller vynamnet i en variabel. Relaterad information:Använda variabler i paket |
| SQL-kommando | Hämta data från OLE DB-datakällan med hjälp av en SQL-fråga. |
| SQL-kommando från variabel | Ange SQL-frågetexten i en variabel. |
Förhandsversion
Förhandsgranska resultat genom att använda dialogrutan Datavy.
Förhandsgranskning kan visa upp till 200 rader.
Anmärkning
När du förhandsgranskar data innehåller kolumner med en CLR-användardefinierad typ inte data. Värdet <för stort för att visas> eller så visas System.Byte[]. Den förra visar när datakällan används med SQL OLE DB-providern, den senare när du använder den interna SQL Server-klientprovidern.
Dynamiska alternativ för dataåtkomstläge
Dataåtkomstläge = Tabell eller vy
Namnet på tabellen eller vyn
Välj namnet på tabellen eller vyn i en lista över de som är tillgängliga i datakällan.
Dataåtkomstläge = Tabellnamn eller visningsnamnvariabel
variabelnamn
Välj variabeln som innehåller namnet på tabellen eller vyn.
Dataåtkomstläge = SQL-kommando
SQL-kommandotext
Ange texten i en SQL-fråga, skapa frågan genom att klicka på Skapa fråga eller leta upp filen som innehåller frågetexten genom att klicka på Bläddra.
Parametrar
Om du har angett en parameteriserad fråga med hjälp av ? Som parameterplatshållare i frågetexten använder du dialogrutan Ange frågeparametrar för att mappa frågeindataparametrar till paketvariabler.
Skapa fråga
Använd dialogrutan Query Builder för att skapa SQL-frågan visuellt.
Bläddra
Använd dialogrutan Öppna för att hitta filen som innehåller texten i SQL-frågan.
Parsera fråga
Kontrollera syntaxen för frågetexten.
Dataåtkomstläge = SQL-kommando från variabel
variabelnamn
Välj variabeln som innehåller texten i SQL-frågan.
OLE DB-källa-redigerare (kolumnsida)
Använd sidan Kolumner i dialogrutan OLE DB-källredigeraren för att mappa en utdatakolumn till varje extern kolumn (källa).
Alternativ
Tillgängliga Externa Kolumner
Visa listan över tillgängliga externa kolumner i datakällan. Du kan inte använda den här tabellen för att lägga till eller ta bort kolumner.
Extern kolumn
Visa externa kolumner (källa) i den ordning som du ser dem när du konfigurerar komponenter som använder data från den här källan. Du kan ändra den här ordningen genom att först rensa de valda kolumnerna i tabellen och sedan välja externa kolumner från listan i en annan ordning.
Utdatakolumn
Ange ett unikt namn för varje utdatakolumn. Standardvärdet är namnet på den valda externa kolumnen (källa). Du kan dock välja valfritt unikt, beskrivande namn. Det angivna namnet visas i SSIS Designer.
OLE DB-källredigeraren (felutdatasida)
Använd sidan Felutdata i dialogrutan OLE DB-källredigeraren för att välja alternativ för felhantering och ange egenskaper för felutdatakolumner.
Alternativ
Indata/utdata
Visa namnet på datakällan.
Kolumn
Visa de externa kolumner (källa) som du valde på sidan Anslutningshanteraren i dialogrutan OLE DB-källredigeraren .
Fel
Ange vad som ska hända när ett fel inträffar: ignorera felet, omdirigera raden eller fela komponenten.
Relaterade ämnen:felhantering i data
Trunkering
Ange vad som ska hända när en trunkering inträffar: ignorera felet, omdirigera raden eller låt komponenten misslyckas.
Beskrivning
Visa beskrivningen av felet.
Ange det här värdet till markerade celler
Ange vad som ska hända med alla markerade celler när ett fel eller avkortning inträffar: ignorera felet, omdirigera raden, eller låta komponenten misslyckas.
Använda
Använd alternativet för felhantering för de markerade cellerna.