请教一个SQL优化问题

Jolins 2010-11-05 03:13:03
我们的工具是access客户端,同时也用来存数据提供脱机使用,工具是一个报表分析器

数据库是MS SQL 2000,之前是用ado来一条一条的来下载,但是很慢

后来想用openrowset把SQL上的数据根据用户的权限处理好以后把定制好的数据直接push到access

后来发现access不支持网络访问- -

有什么可行且效率高的方法来更新本地access数据的吗?
...全文
85 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jolins 2010-11-08
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 mamaka 的回复:]
楼主啊,这种想法你都想的到啊,真行,我也是做access和mssql 的,我就没想到过~~~
你的老板们是通过access来分析数据吗,你可以试试通过从mssql定时倒到excel,再从excel导入access
这只是个想法,楼主可以试试~~~
[/Quote]

……这么麻烦,还不如不优化呢,直接ado取虽然慢,但是肯定比这个方法要方便的多

可能到头来,这样更慢,呵呵,我这里的用户都是总裁级的,你如果让他们做过多的操作导入文件,他们必然要complain的,所以直接cancel掉这个好了,谢谢各位了

还是平台的限制太大了,有些想法没办法得到实施
Jolins 2010-11-08
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 twty5210 的回复:]
在SQL SERVER 里运行:
insert into OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source=" c:\DB.mdb";User ID=Admin;Password=')...表名
(列名1,列名2)
select 列名1,列名2 from sql表
实例:
insert into OPENROWSET(……
[/Quote]

网络访问,现在已经确认了,ACCESS只是文件型数据库系统,网络访问是不可以的,除了ado方式

我的SQL server和ACCESS不是在一起的,access你当成一个客户端就好了,不要当作数据库

我只是利用access的部分数据库功能进行数据的存储方便脱机使用
mamaka 2010-11-07
  • 打赏
  • 举报
回复
楼主啊,这种想法你都想的到啊,真行,我也是做access和mssql 的,我就没想到过~~~
你的老板们是通过access来分析数据吗,你可以试试通过从mssql定时倒到excel,再从excel导入access
这只是个想法,楼主可以试试~~~
twty5210 2010-11-05
  • 打赏
  • 举报
回复
在SQL SERVER 里运行:
insert into OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source=" c:\DB.mdb";User ID=Admin;Password=')...表名
(列名1,列名2)
select 列名1,列名2 from sql表
实例:
insert into OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'C:\db.mdb';'admin';'', Test)
select id,name from Test
INSERT INTO OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'c:\trade.mdb'; 'admin'; '', 表名)
SELECT *
FROM sqltablename
zhangyangziwo 2010-11-05
  • 打赏
  • 举报
回复
access里没法批量插入吗?
为什么要一条条的的呢?
dawugui 2010-11-05
  • 打赏
  • 举报
回复
如果是这样的话,我可能会考虑用程序去做了,不就是操作两种数据库嘛?
Jolins 2010-11-05
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 dawugui 的回复:]
引用 3 楼 jolins 的回复:
引用 1 楼 dawugui 的回复:
access的吗?你来错版了。
去access版。


access只是客户端,服务器是SQL的

- -,你认为我应该去哪个版

你这相当于远程通过access操作sql server或是通过sql server操作access。
麻烦,帮顶。
[/Quote]

是啊,很麻烦的,但是老板们喜欢access,因为只要装office就可以用,啥也不要装

很轻量级,而且没网络的时候只要本地下载过最新数据一样可以做报表分析

但是现在他们抱怨下载太慢,因为我用ado一条一条读的

如果要优化,怎么样做更好呢

最初朋友建议我用openrowset,但是后来发现似乎这个方法只能MSSQL用,access好像不支持网络访问

还望各位高手不吝赐教
dawugui 2010-11-05
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 jolins 的回复:]
引用 1 楼 dawugui 的回复:
access的吗?你来错版了。
去access版。


access只是客户端,服务器是SQL的

- -,你认为我应该去哪个版
[/Quote]
你这相当于远程通过access操作sql server或是通过sql server操作access。
麻烦,帮顶。
Jolins 2010-11-05
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 dawugui 的回复:]
access的吗?你来错版了。
去access版。
[/Quote]

access只是客户端,服务器是SQL的

- -,你认为我应该去哪个版
kevn 2010-11-05
  • 打赏
  • 举报
回复
好像有次面试就问到过这个,不过我不知道。。帮顶
dawugui 2010-11-05
  • 打赏
  • 举报
回复
access的吗?你来错版了。
去access版。

27,578

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧