sql >> Database >  >> RDS >> Sqlserver

SSIS-verbindingsfout - Bestandsnaam niet geldig

Op basis van de gepresenteerde informatie doet u alles correct. Als je nieuw bent bij SSIS, zou ik je aanraden een kopie te krijgen van de uitstekende add-in BIDSHelper . Het heeft geweldige functies die u echt tijd kunnen besparen, vooral met betrekking tot configuraties en uitdrukkingen.

Ik heb een referentiepakket gemaakt met een Excel Connection Manager die verwijst naar C:\ssisdata\so_paulsmithjr.xls en alles aangesloten.

Op dit moment weet ik dat alles werkt, dus het was tijd om het pakket te verplaatsen. Ik heb de volgende variabelen en hun waarden gemaakt

  • CurrentFile - C:\ssisdata\so_paulsmithjr.xls
  • PlaceHolder - ##FILE_PATH##
  • TemplateConnection - Provider=Microsoft.Jet.OLEDB.4.0;Data Source=##FILE_PATH##;Extended Properties="Excel 8.0;HDR=YES";

Een vierde variabele is ingesteld om een ​​uitdrukking te zijn (Klik met de rechtermuisknop op variabele, eigenschappenvenster. Stel Evalueren in als uitdrukking =Waar en uitdrukking staat hieronder)

  • CurrentConnection - REPLACE(@[User::TemplateConnection], @[User::PlaceHolder], @[User::CurrentFile])

Ik vergeleek de CurrentConnection-waarde met de ReferenceConnection (de oorspronkelijke waarde van de verbindingsreeks van Excel Connection Manager) en de zaken kwamen overeen. Als ik op dit moment de waarde van CurrentFile zou wijzigen in C:\ssisdata\so_paulsmithjr - Copy.xls, zou dat automatisch worden weerspiegeld in de waarde van CurrentConnection.

De laatste truc zou zijn om een ​​expressie te gebruiken in de Excel Connection Manager. Nogmaals, klik met de rechtermuisknop op de CM en onder Eigenschappen zullen er uitdrukkingen zijn. Het zal niet uitbreiden omdat er niets onder zit. Klik in plaats daarvan op de ellipsen en selecteer vervolgens de eigenschap ConnectionString en selecteer de ellipsen opnieuw en sleep deze keer de @[User::CurrentFile] variabel. Klik op OK x2 en nu is uw verbindingsbeheerder ingesteld om te gebruiken waar de CurrentConnection-variabele dit aangeeft.

Werkt dat beter?




  1. twee vreemde sleutels, hoe in kaart te brengen met laravel welsprekend

  2. Errcode 13, SELECT INTO OUTFILE probleem

  3. Python- en MySQL-database:een praktische introductie

  4. Genereer updatescript MySQl-tabel