2014-11-03 18 views
6

Máy chủ dev của chúng tôi có SQL Server 2008 R2 64 bit với SSIS. Để có thể nhập các tệp XLSX trực tiếp từ T-SQL (qua OPENROWSET), chúng tôi đã cài đặt trên máy chủ dev là Microsoft Access Database Engine Redistributable 64-bit. Máy chủ đã cài đặt phiên bản 32 bit, vì vậy chúng tôi đã cài đặt phiên bản này bằng công tắc/thụ động.SSIS và Cơ sở dữ liệu Microsoft Access 64 bit

Vì làm như vậy, các gói hiện tại của chúng tôi không thành công. Một trong số họ báo cáo

The step did not generate any output. The return value was unknown. The process exit code was -1066598274. The step failed.

Chỉ cần tự hỏi nếu bất cứ ai khác đã cấu hình thành công máy chủ của họ để có thể sử dụng OPENROWSET để XLSX tập tin và cũng có SSIS trên cùng một máy chủ, Hoặc không ai biết nếu cấu hình này là không thể?

Chỉnh sửa: Tôi nên thêm rằng các gói không thành công được chạy từ tác vụ SQL Agent. Khi tôi kết nối với Trình quản lý dịch vụ tích hợp của máy chủ thông qua SQL Server Management Studio và chạy gói (bằng cách điều hướng đến gói, bấm chuột phải vào nó và chọn Chạy gói), nó thực thi thành công.

+1

RUnnign nó bằng cách kích chuột phải vào SSIS Manager và chạy nó trong SQL Agent rất khác nhau. Tài khoản người dùng khác và vị trí chạy gói khác nhau. Khi bạn nhấp chuột phải và chạy là bạn đăng nhập vào máy chủ hoặc bạn đang ở trên một khách hàng từ xa? Bạn có nhận được bất kỳ lỗi 'không nhận được kết nối' khi không thành công không? Liệu kết nối excel này có phải là kết nối duy nhất không? –

+0

Điều gì sẽ xảy ra khi bạn [chỉ định dòng lệnh DTEXEC trong SQL Agent để sử dụng phiên bản 32 bit hoặc 64 bit] (https://social.msdn.microsoft.com/Forums/sqlserver/en-US/289e29ad-26dc -4f90-bad4-ffb86c76e5f9/excel-lỗi-64bit-phiên bản-của-ssis)? Xem thêm [ở đây] (https://technet.microsoft.com/en-us/library/ms141766 (v = sql.105) .aspx) để có thể các phương tiện khác để chọn phiên bản nào thực thi. –

+0

@ Nick.McDermaid "Khi bạn nhấp chuột phải và chạy là bạn đã đăng nhập vào máy chủ hoặc bạn đang ở trên một máy khách từ xa?" Trên máy khách từ xa. "Bạn có nhận được bất kỳ lỗi nào 'không nhận được kết nối' khi nó không thành công?" Không. "Đây có phải là kết nối excel kết nối duy nhất không?" Không. Vấn đề là trên máy chủ sản xuất, chúng tôi có rất nhiều kết nối ở đó. –

Trả lời

0

Có, điều đó là có thể. Bạn phải chỉ định sử dụng thời gian chạy 32 bit trong bước công việc. Mở mọi bước công việc chạy một trong các gói SSIS của bạn và nhấp vào "Tùy chọn thực thi". Chọn hộp ở dưới cùng "Sử dụng thời gian chạy 32 bit".

+0

Tôi đã làm lỗi đó. Trên thực tế, "Sử dụng thời gian chạy 32 bit" giải quyết một lỗi khác: SSIS DTS_E_OLEDB_EXCEL_NOT_SUPPORTED –

1

Cá nhân tôi đã từ bỏ việc cố gắng hỗ trợ kịch bản này - tôi cho rằng cài đặt "/ thụ động" là một hack không thực sự hoạt động và thường phá vỡ cài đặt ADE khác của bạn. Tôi sẽ unintall ADE hoàn toàn và sau đó chỉ cài đặt lại 32-bit. Sau đó, tôi sẽ buộc tất cả các gói chạy qua SQL Agent để thực thi dưới dạng 32-bit (như được mô tả bởi Brian).

Làm theo quy trình này cung cấp cho bạn một số hy vọng gỡ lỗi các sự cố khi bạn có thể mở gói của mình trong Visual Studio và nó sẽ sử dụng trình điều khiển 32 bit giống nhau. Bạn cũng sẽ sử dụng một trình điều khiển phù hợp khi thực hiện từ SSMS (cũng 32-bit).

Có thể có hiệu suất nhưng hiệu suất SSIS thường bị giới hạn ở mức độ nào đó bằng I/O hoặc tốc độ mạng, không chỉ thông qua động cơ thuần túy.

0

Tôi đã có "Bước không tạo ra bất kỳ đầu ra nào. Giá trị trả lại không xác định. Mã thoát của quá trình là -1066598274. Bước không thành công".
Tôi tìm thấy một lối đi bộ xung quanh cho bản thân mình: Tôi đã chuyển từ sử dụng xlsx sang xls và lỗi không được nêu ra nữa.

Các vấn đề liên quan