最近在作终端服务系统,需要用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.comhttp://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控制密码》的勾去调。用户名和密码写上可以访问数据库所在计算机的用户名和密码。 |