SQL Server 2008 Integration Services içerisinde veri aktarımı esnasında Excel dosyasını kaynak veya hedef olarak kullanmamıza imkan tanıyan “Excel Source” ve “Excel Destination” bileşenleri bulunmaktadır.
Fakat bu bileşenleri 64 bit SQL Server 2008’in olduğu ortamda kullanmak istediğimizde aşağıdaki hatayla karşılaştık.
[Connection manager “Excel Connection Manager”] Error: SSIS Error Code DTS_E_OLEDB_EXCEL_NOT_SUPPORTED: The Excel Connection Manager is not supported in the 64-bit version of SSIS, as no OLE DB provider is available.
Bunun nedeni Excel Connection Manager’in 64bit sürümünün olmayışıdır. Bu bağlantı nesnesini kullanmak için hazırladığımız SSIS paketini 32bit modunda çalıştırmalıyız.
Bir SSIS paketini 32bit modunda çalıştırmak için aşağıdaki yöntemlerden biri tercih edilebilir.
1. Yöntem : Visual Studio içerisinde projenin özelliklerinden 32bit modunu seçebiliriz. VS içerinsdeki Project bölümünden “Project Properties” penceresinde “Run64BitRuntime = False” seçeneği işaretlenir.
2. Yöntem : SSIS’i çalıştırmak için kullandığımız SQL Server Agent Job içerisinde “Use 32 bit runtime” sçeneğini işaretlemek. Job’a ait steplerde SSIS dosyasını gösterdiğimiz ekranda Execution Options sekmesinde bu seçeneği işaretlememiz yeterli olacaktır.
3. Yöntem : Farklı bir alternatif olarak DTEXEC komutu kullanılabilir. Bu komut kendisine parametre olarak verilmiş olan DTSX dosyasını çalıştırır. Bu komut satırına X86 kodunu parametre olarak verdiğiniz durumda paket 32-bit modunda çalışacaktır.
“C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\DTEXEC.exe” /f “C:\Import_Excel_To_SQL.dtsx” /X86
64 bit SSIS – Excel Connection Manager Kullanımı
Bir Cevap Yazın