2012-09-26 14 views
5

Tôi đang cố gắng tìm hiểu cách thực hiện truy vấn chắp thêm động trong Access 2010 dựa vào bảng cơ sở dữ liệu ODBC (xem question 12592953) và ai đó đã đề xuất bật đầu ra gỡ lỗi chương trình: techrepublic link. Nhưng cơ sở dữ liệu Access 2010/accdb dường như không sử dụng động cơ phản lực, vì vậy điều này không giúp tôi.Cách nhận kế hoạch truy vấn (showplan.out) từ Access 2010?

Cập nhật: Đây là truy vấn tôi đang cố gắng làm việc (mô tả đầy đủ nằm trong câu hỏi ngăn xếp khác được liên kết ở trên). Nó là vụ phải cập nhật bản sao cục bộ của một bảng với các hàng mới từ bản sao từ xa. Nhưng những gì xảy ra là Access kéo toàn bộ bảng từ xa (mà là rất lớn và gây ra ODBC để timeout), sau đó chạy WHERE tại địa phương.

INSERT INTO local (dt, latitude, longitude) 
SELECT dt, latitude, longitude 
FROM remote_odbc, (SELECT max(dt) AS max_dt FROM local) AS sub 
WHERE remote_odbc.dt > max_dt; 

Có điều gì tương tự như đăng ký Jet/Debug/showplan hack trong Access 2010 để biết thêm thông tin về cách Access xem truy vấn không?

+0

Truy cập có ADO & DAO, mặc dù gốc DAO của nó. Hãy cho chúng tôi một ví dụ về loại câu lệnh SQL động gắn kết mà bạn đang cố gắng làm. Trong quá khứ tôi đã xây dựng các hàm trợ giúp để xây dựng các câu lệnh Access SQL – GoldBishop

+0

Theo như cách Access xem một câu lệnh SQL, nó là một công cụ câu lệnh SQL rất cơ bản. Bạn sẽ nhận thấy, bên ngoài một số cú pháp khung, nó không phải là rất mạnh mẽ. Bạn có thể làm Insert, Delete, Drop, Select và một số câu lệnh Access-specific nhưng đó là tất cả. Khả năng thực hiện Batch Execution là rất bực bội (truy cập trái cho MS SQL và bây giờ trở lại Access cho một máy khách). Cách duy nhất để có được hiệu ứng xử lý hàng loạt là thông qua VBA Macro và RecordSet. – GoldBishop

+1

@GoldBishop: Tôi đã cập nhật câu hỏi. Chi tiết đầy đủ nằm trong câu hỏi khác tôi tham khảo. – cswingle

Trả lời

2

Bạn sẽ cần chìa khóa sau:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\14.0\Access Connectivity Engine\Engines\Debug] 
"JETSHOWPLAN"="ON" 

Ở trên là xuất khẩu từ của tôi Windows 7 registry chạy Access 2010, và sản xuất showplan.out cho tôi.

5

Cảm ơn @Fionnuala

Đối với Access 2010 32 bit Bạn sẽ cần chìa khóa sau:

Trên Windows 7 32 bit:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\14.0\Access Connectivity Engine\Engines\Debug] 
"JETSHOWPLAN"="ON" 

hoặc trên Windows 7 64 bit:

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\14.0\Access Connectivity Engine\Engines\Debug] 
"JETSHOWPLAN"="ON" 

Tôi cần tạo thư mục Debug để nhập khóa.

+1

Đừng quên khởi động lại Truy cập để cài đặt này có hiệu lực. – paulroho