sql >> Databasteknik >  >> RDS >> Sqlserver

Tilldela dynamiskt filnamn till excel-anslutningssträng

Alternativ A

ConnectionString egenskapen för en Excel Connection Manager är inte där jag går för att manipulera den aktuella filen, vilket är kontrast till en vanlig Flat File Connection Manager.

Lägg istället ett uttryck på Excel Connection Managers ExcelFilePath egendom.

I teorin borde det inte vara någon skillnad mellan ConnectionString och ExcelFilePath förutom att du kommer att ha mer "grejer" att bygga ut för att få anslutningssträngen helt rätt.

Se också till att du kör paketet i 32-bitarsläge.

Alternativ B

Ett alternativ som du kanske stöter på är att designtidsvärdet för anslutningssträngen inte är giltigt när det väl körs. När paketet börjar, verifierar det att alla förväntade resurser är tillgängliga och om de inte är det, misslyckas det snabbt snarare än att dö mitt i belastningen. Du kan fördröja denna validering tills SSIS faktiskt måste komma åt resursen och du gör detta genom att ställa in DelayValidation egendom till True. Den här egenskapen finns på allt i SSIS men jag skulle börja med att ställa in den på Excel Connection Manager först. Om det fortfarande orsakar paketvalideringsfelet, försök att ställa in dataflödets fördröjningsvalidering till sant också.



  1. Hur man får alla fel av alla SSIS-paket i en lösning

  2. Uppdatering av en förfylld databas

  3. Rangordna funktioner i SQL Server

  4. När ska jag använda MySQLi istället för MySQL?