似乎只能使用 pass-through query 从SQL Server表和MS Access中检索数据 . 但另一种方式呢?从Access表到SQL Server表 .
当我需要高性能时,我在MS Access中有哪些选择?(将附加查询附加到链接表的常规方法只是 too slow )
在传递查询中,我无法引用MS Access表或查询,因此我的INSERT INTO语句无法工作 . 有没有通过VBA解决?
您可以在直通查询中使用OPENROWSET .
SELECT id, atext INTO anewtable FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'z:\docs\test.accdb'; 'admin';'',table1);
您可能需要以下部分或全部选项:
sp_configure 'show advanced options', 1; RECONFIGURE; GO sp_configure 'Ad Hoc Distributed Queries', 1; RECONFIGURE; GO EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'AllowInProcess', 1 GO EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters', 1 GO
我怀疑它会更快 .
在Access中可以使用宏来使用SetValue动态创建传递查询定义(我认为现在称为SetProperty) . 基本上,您可以更新现有传递查询的查询定义,然后运行它 . 我这样做了一次,而且速度要快得多,但那是很久以前的事了 . 我可能有一块VB循环通过表来创建查询 .
2 回答
您可以在直通查询中使用OPENROWSET .
您可能需要以下部分或全部选项:
我怀疑它会更快 .
在Access中可以使用宏来使用SetValue动态创建传递查询定义(我认为现在称为SetProperty) . 基本上,您可以更新现有传递查询的查询定义,然后运行它 . 我这样做了一次,而且速度要快得多,但那是很久以前的事了 . 我可能有一块VB循环通过表来创建查询 .