Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Assegna dinamicamente il nome del file alla stringa di connessione di Excel

Opzione A

La ConnectionString proprietà per un gestore connessione di Excel non è dove vado a manipolare il file corrente, che è in contrasto con un normale gestore di connessione file flat.

Invece, inserisci un'espressione in ExcelFilePath di Excel Connection Manager proprietà.

In teoria, non dovrebbe esserci alcuna differenza tra ConnectionString ed ExcelFilePath, tranne per il fatto che avrai più "cose" da costruire per ottenere la stringa di connessione giusta.

Inoltre, assicurati di eseguire il pacchetto in modalità a 32 bit.

Opzione B

Un'alternativa in cui potresti imbatterti è che il valore della fase di progettazione per la stringa di connessione non è valido una volta in esecuzione. Quando il pacchetto inizia, verifica che tutte le risorse previste siano disponibili e, in caso contrario, si guasta rapidamente anziché morire a metà carico. Puoi ritardare questa convalida fino al momento in cui SSIS deve effettivamente accedere alla risorsa e lo fai impostando il DelayValidation proprietà su Vero. Questa proprietà esiste su tutto in SSIS, ma inizierei prima con l'impostazione su Excel Connection Manager. Se ciò genera ancora l'errore di convalida del pacchetto, prova a impostare anche la convalida del ritardo del flusso di dati su true.