CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  ASP

asp读取access难题,100分,在线等,谢谢!

楼主happybird123(幸福鸟)2006-03-14 11:17:20 在 Web 开发 / ASP 提问

小弟现在有个难题:  
  1.要远程读取另外一台机器上的access文件(access97格式)  
  2.access文件有很多,按日期有规则命名  
   
  不知道读取的连接怎么写,不能用dsn的方式,因为文件名是动态的  
   
  我试了myconn="Provider=Microsoft.Jet.OLEDB.4.0;Persist   Security   Info=False;Data   Source=z:\a060306.mdb"  
   
  其中z盘是我影射的网络驱动器,但是有错误,'z:\a060306.mdb'不是一个有效的路径。   确定路径名称拼写是否正确,以及是否连接到文件存放的服务器。  
   
  把这个文件放到本地就可以了,但我必须读取远程的access  
   
  不知道各位大虾有什么办法,先行谢过了! 问题点数:100、回复次数:24Top

1 楼happybird123(幸福鸟)回复于 2006-03-14 11:17:31 得分 0

upTop

2 楼danis_cn(宇宙鸟)回复于 2006-03-14 11:30:49 得分 50

远程方法不可取,建议换成sql   server的  
   
  因为远程连接必须共享,安全性不能保证  
   
  Top

3 楼asp_m(写个三层模式)回复于 2006-03-14 11:33:15 得分 0

同意楼上,建议换成sql,安全第一Top

4 楼boyd1985(波伊德乐园->http://www.boyd.cn)回复于 2006-03-14 11:35:29 得分 50

ASP里不可以读取其他机器的数据,这样的方法原则上是可以讲的通,但实际上并不可以做到的。  
   
  建议改成SQL或ORACEL,这样可以跨机器来进行了。Top

5 楼flyingsnowy((欧杨)不远万里来看楼主的帖,这是一种什么样的精神病?)回复于 2006-03-14 11:42:54 得分 0

顶一下。从安全性来说。不要用AC了。Top

6 楼happybird123(幸福鸟)回复于 2006-03-14 11:58:28 得分 0

这个东西不是我所能选择的,人家的数据就是access97的数据,而且每天都生成新的mdb,如果好绕过得话,我也不来这里问了阿,各位大哥Top

7 楼fl99(笨笨(QQ:250009333))回复于 2006-03-14 12:29:38 得分 0

能在另外一台机器上安装一个服务么?  
  如果有权限,就写一个服务来处理ACCESSS数据库,  
  你的服务器只需要提交命令过去,其它的动作在他本机上执行,返回结果给你,  
   
   
  你这个项目有钱么?我做过很多类似你这种的程序,如果有钱的话,联系我,QQ:250009333Top

8 楼yugui(天锋)回复于 2006-03-14 12:32:37 得分 0

用ODBC可以远程连接ACCESS数据库的。Top

9 楼happybird123(幸福鸟)回复于 2006-03-14 18:20:28 得分 0

不能用odbc的,数据库名是动态改变的Top

10 楼yutian130(骑着布什好歹的萨达姆猪,漫步在小巷的尽头)回复于 2006-03-14 18:40:46 得分 0

!!!!!!数据库名是动态改变的!!!!!!!!!  
  怎么做的??Top

11 楼yihunnanzi(未婚男子)回复于 2006-03-14 21:36:42 得分 0

好像不行哦,死心吧,寻找别的突破口。。Top

12 楼zys59(三仙半)回复于 2006-03-14 22:59:37 得分 0

fl99(笨笨(只回答50分以上的回题)):这里是自由发布想法的地方,做广告?您免了吧!!!!!Top

13 楼czq9966(宁录)(毛主席领导咱闹革命……)回复于 2006-03-15 00:38:33 得分 0

换用SQL数据库吧,以前搞的时候遇到和你一样的问题,解决不了,后来没有办法,只好换SQL   SERVER数据库了,Top

14 楼linjimu(沐)回复于 2006-03-15 09:14:41 得分 0

远程的access是不是指在局域网还是广义网?  
  要是局域网就比较容易些。  
  Top

15 楼linjimu(沐)回复于 2006-03-15 09:31:17 得分 0

Dim   Cnn   As   New   ADODB.Connection  
  Dim   NewRst   As   ADODB.Recordset  
  Dim   SqlStr   As   String  
          if   Right(MdbNetpath,1)<>   "\"   then   MdbNetpath=MdbNetpath   &"\"  
          Cnn.CursorLocation   =   adUseClient  
          Cnn.ConnectionString   =   "Provider=Microsoft.Jet.OLEDB.4.0;Data   Source="   &   MdbNetpath   &   MdbName  
          Cnn.Open  
          SqlStr   =   "select   *   from   TB1   where   ItemNo='"   &   TmpItemNos   &   "'"  
          Set   Newrst   =   New   ADODB.Recordset  
          NewRst.CursorLocation   =   adUseClient  
          NewRst.Open   SqlStr,   Cnn,   adOpenKeyset,   adLockOptimistic  
          If   Not   (NewRst.BOF   And   NewRst.EOF)   Then  
                CheckItemnoIsOk   =   True  
          Else  
                CheckItemnoIsOk   =   False  
          End   If  
          Newrst.Close  
  Set   Newrst   =   Nothing  
  Set   Cnn   =   Nothing  
   
   
  其中MdbNetpath说明:  
  可以是局域网中的路径如:"\\PC1\ShareFolder\"   MdbNetpath可以是一个或多个常用的共享文件夹路径。  
  MdbName是你要常变动的数据库的名称。  
   
  MdbNetpath可以用数组,也可以用一个表来存放一个或多个记录。也可以写一个GetMdbNepPath函数来说具体的哪一个路径。  
   
  MdbName同上。  
   
  影射的网络驱动器这样不好。  
  如果用以上的方法,只要改变MdbNetpath和MdbName就可以让多用户使用同个系统了。  
   
  Top

16 楼sxsgssgs(.net新手)回复于 2006-03-15 09:52:02 得分 0

用这种链接方式很容易读取  
   
  <%  
  dim   conn,connstr  
  connstr="DBQ="+server.mappath("test.mdb")+";DefaultDir=;DRIVER={Microsoft   Access   Driver   (*.mdb)};"  
  set   conn=server.createobject("ADODB.CONNECTION")  
  conn.open   connstr  
  %>Top

17 楼happybird123(幸福鸟)回复于 2006-03-15 09:59:06 得分 0

linjimu(沐):不行啊,根本连不上数据库Top

18 楼happybird123(幸福鸟)回复于 2006-03-15 10:00:16 得分 0

sxsgssgs(晋乡浪子):请仔细看俺发的内容。。。Top

19 楼rotApple(烂苹果)回复于 2006-03-15 10:06:41 得分 0

在conn里面用FSO列出所有mdb(你文件夹里面不可能有N个MDB吧,应该只有一个)  
  再用ODBC连,映射的盘是无法连接的Top

20 楼happybird123(幸福鸟)回复于 2006-03-15 16:18:23 得分 0

是每天生成一个mdbTop

21 楼hanyuice(ジ.寒羽.ベ↘)回复于 2006-03-15 17:12:41 得分 0

换成SQL吧,ACCESS根本就不能跨机!Top

22 楼byyt(KingCobra)回复于 2006-03-15 17:18:11 得分 0

在对方的机器上放一个组件使用SOCKIT通讯,你这边发送请求过去,那边按照请求发送回来,然后你这边在接受,数据提取的过程在对方机器上完成.Top

23 楼Chulangzi(楚浪子-我要变强!)回复于 2006-03-15 21:37:36 得分 0

xuexiTop

24 楼caixinke(<<虎讯网>>hoosoon.com)回复于 2006-03-15 21:58:45 得分 0

不   明白为什么   不在对方机器上安装iis服务?Top

相关问题

  • asp读取文本
  • asp读取文本
  • 关于ASP读取ACCESS的一个小问题。在线等!
  • 怎么样用ASP直接读取excel里的内容写如ACCESS中?
  • ??冷僻难题,请高手帮忙!ASP + ACCESS 2000 + 韩文 ,求助!
  • 遇到读取web.config的难题,等待高人指点!
  • 求助:一个读取Hashtable中数据的难题!!
  • 远程读取access文件
  • 读取ACCESS的问题
  • 读取ACCESS表的问题!

关键词

  • 数据库
  • access
  • 远程
  • 局域网
  • 文件
  • 数据
  • 连接
  • sql
  • mdbnetpath
  • newrst

得分解答快速导航

  • 帖主:happybird123
  • danis_cn
  • boyd1985

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo