远程调用access数据库

远程调用access数据库

首页 雷达维护 雷达故障 雷达应用 VC编程 本站下载
引用地址 http://www.cinrad.com/Get/Blog/blog/081726992.htm

最近在作终端服务系统,需要用asp远程调用局域网的access数据库。在找了大量的资料和寻求帮助后,终于在高人的指点下成功。


远程连接access数据库的几个方法:

1.建立VPN(Virtual Private Network),这样你的电脑和主机的连接就与局域网无异,然后把服务器中mdb文件所在的Folder共享即可。ADO连接如下:
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\ServerName\DatabaseFolder\Database.mdb;Jet OLEDB:Database Password=databasepw;Persist Security Info=False"

2.把Database放在Web Server上,使ADO或RDO通过RDS(Remote Data Service)及IIS来实现:

如果服务器像上面Jave大侠说那样设置了ODBC DSN的话:

oConn.Open "Provider=MS Remote;" & _
      "Remote Server=http://myServerName;" & _
      "Remote Provider=MSDASQL;" & _
      "DSN=AdvWorks;" & _
      "Uid=myUsername;" & _
      "Pwd=myPassword"

如果设置的是OLE DB Provider 的话:

oConn.Open "Provider=MS Remote;" & _
      "Remote Server=http://myServerName;" & _
      "Remote Provider=Microsoft.Jet.OLEDB.4.0;" & _
      "Data Source=c:\somepath\mydb.mdb", _
      "admin", ""

3.自己编写服务器程序,通过TCP/IP,传递Recordset。

4.使用第三方控件,如:ADO Anywhere或UDAParts RDB等。具体查看
http://www.adoanywhere.com
http://www.udaparts.com/

5.使用XMLHTTP


关于权限问题的检查
以下步骤:
1,查看IIS能不能被匿名访问

2,如果数据库不在本机,需要设置数据库所在的远程机器。设置详细说明:http://support.microsoft.com/default.aspx?scid=kb;EN-US;253580

3,网络浏览用户必须拥有对Access数据库的读、写、执行、修改的权限。如果是Jet驱动引擎,如果环境变量里面设置了临时目录,一般在WINNT\System32,这个目录也应该能被网络浏览用户访问,所以建议配置TMP环境变量到到temp目录

4,可以通过我的电脑来设置环境变量,具体方法略去

5,临时目录必须能被网络浏览用户读、写、改变、删除


 

我使用的是第一种方法,因为数据库就在局域网。把数据库目录共享。用Ado和ODBC连接都可以。

关键还要设置。在数据库所在的目录要给ervryone完全控制权限,数据库所在计算机的 windows 临时目录也要给ervryone完全控制权。

在IIS计算机上要设置IIS。主要设置是匿名访问和身份验证控制。把《允许IIS控制密码》的勾去调。用户名和密码写上可以访问数据库所在计算机的用户名和密码。

posted @ 2006-05-14 17:42  facewater  阅读(580)  评论(0编辑  收藏  举报