这是我试过的。我还错过了什么或者应该尝试什么?
我的处境:
另一个国家的clean/reliable
我尝试了以下所有措施:
DAO - (currentdb.execute)通过VPN运行Access SQL,OLEDB连接到远程SQL/Server --可以使用"insert into“非常慢。
ADO使用Access SQL -甚至更慢。
只有OLEDB,发出给远程SQL/Server的SQL命令不能看到本地ACCDB文件,所以您必须遍历记录集,为每个记录构建一个SQL语句。非常慢。很多额外的编码。
OLEDB访问链接到SQL/Server的表。读取数据速度快,插入记录非常慢。
两端都有SQL/Server。本地SQL/Server链接表到ACCDB和远程服务器。工作,但没有提高速度。1000条相当小的记录需要5+分钟才能插入。
批量插入。不能这样做,源数据不是文本文件,而是ACCDB。这不是一次转换,而是每天更新新的/更改的记录。
SSIS -看起来速度很快,因为我能够快速迁移整个数据库,但是对于日常使用普通的插入和删除来说,看起来并不合适,也不容易。
尚未尝试: SQL/Server订阅服务器-publisher镜像/复制使远程表“几乎”本地。
因此,令人惊讶的是,我发现DAO到远程ACCDB (无SQL/Server)通过VPN比SQL/Server快20倍。但是,我更愿意使用SQL/Server。
我还错过了什么或者应该尝试什么?
发布于 2010-05-05 23:48:24
在Server上启用了双重检查TCP/IP连接&并且客户端实际上正在使用它(而不是命名管道)--如果您在连接字符串的末尾使用OLEDB,将;Network Library=DBMSSOCN粘贴到连接字符串的末尾以强制这样做。
您是否尝试过从远程SQL服务器中“提取”?也就是说,应用程序调用一个存储过程,该存储过程使用OPENROWSET/OPENQUERY从本地SQL服务器中提取数据?--对于具有非对称升降速度的连接非常有用。
https://stackoverflow.com/questions/2777216
复制相似问题