现在看来似乎是唯一可以使用传递查询检索从SQL Server表和到MS Access数据。 但如何对其他的方式? 从Access表到SQL Server表。
我有哪些选择从MS Access中,当我需要高性能?
(具有追加查询追加到一个链接表的正常方法是简单地太慢 )
在传递查询我不能引用MS Access表或查询,所以我的INSERT INTO语句不能正常工作。 有一个变通通过VBA?
现在看来似乎是唯一可以使用传递查询检索从SQL Server表和到MS Access数据。 但如何对其他的方式? 从Access表到SQL Server表。
我有哪些选择从MS Access中,当我需要高性能?
(具有追加查询追加到一个链接表的正常方法是简单地太慢 )
在传递查询我不能引用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
我怀疑,这将是任何更快。
有可能在访问使用宏来动态地创建通过查询定义使用的SetValue通(我想这就是所谓的SetProperty现在)。 基本上,你可以更新现有穿过查询查询定义,然后运行它。 我这样做一次,它是快了很多,但那是很久以前的事。 我可能有一段VB的,通过一台循环创建查询。