RT
如何在局域网内远程连接ACCESS数据库?
我找了一些资料如下:
“Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\服务器名\\文件夹 \\mydata.mdb;Jet OLEDB:Database Password=datapass;Persist Security Info=False”
这种方法我试了,我将Source=\\服务器名按机器名和IP地址两种方法都试了,都没连接成功,
还有一种方法:
OledbConnection myconn = null;
myconn = new OledbConnection("192.168.1.155", "DSN=mydata;DRIVER={Microsoft Access Driver (*.mdb)};UID=test;PWD=test;");
我也试了,直接编译错误,提示:OledbConnection方法没有采用“2”个参数的重载
我想问下:OledbConnection( ,)有这种用法吗???
请教高手,怎么才能成功连接ACCESS?我的是acce2003 我要连的服务器数据库也在浏览器里测试了,能通!
\\192.168.2.180\d:\GKDB\GKNM.mdb
能成功打开,可是为什么程序里就不能呢?
请教!

解决方案 »

  1.   

    这种路径有效的??????
    \\192.168.2.180\d:\GKDB\GKNM.mdb 
    \\192.168.2.180\d$\GKDB\GKNM.mdb 把路径权限开给连接的帐户, 弄不清的话就开给EVERYONE试试还有,你是否搞混了ODBC和ADO的区别?连接字符串不是那样写
      

  2.   

    \\192.168.2.180\d:\GKDB\GKNM.mdb 
    书写错误,应是:
    \\192.168.2.180\GKDB\GKNM.mdb 
    在浏览器能成功连接!!!
    在程序代码里是不行的!
    还有,你是否搞混了ODBC和ADO的区别?连接字符串不是那样写 那该怎么写????
      

  3.   

    好像access不支持远程连接吧?如果是这样,你得写一个服务。
      

  4.   

    ACCESS不能进行远程(internet)链接表
      

  5.   


    用webservice做中间层来实现
      

  6.   

    根据MDB文件名和ODBC DSN名建一个ODBC数据据源
      

  7.   

    可以远程连接的啊,我上次就做了一个程序都可以的~!!!
    你的远程ACCESS数据库有没共享??
      

  8.   

    我是把ACCESS数据库所在的文件夹共享
    然后用 “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\服务器名\\文件夹 \\mydata.mdb;Jet OLEDB:Database Password=datapass;Persist Security Info=False” 
    这种方式连接的!!
      

  9.   

    我也是用的这种方法,为什么连不上呢?
    Data Source=\\服务器名\\文件夹 \\mydata.mdb
    这一句的格式该怎么写?
    我用的服务器名是当前机器名,为什么连不上,IP地址我也试了,怎么连不上呢?
      

  10.   

    我的连接语句是这样的
    strConnect = "Provider= Microsoft.Jet.OLEDB.4.0;Data Source =" + appSetting.ServerPath.ToString();
    DATA Source=access所在电脑的服务器名或者IP地址\mydata.mdb,不过我的路径是用OpenfileDialog选择的,把路径即appsetting.ServerPath设置成openFileDialog1.FileName
    我看他读出来的路径是这样的:@“\\Jacky\shareddocs\月总簿.mdb”,前面有两个\\+服务器名,你试一下~!!
    而且我没有把ACCESS设置密码!!不知道设置密码会不会有影响~!!
      

  11.   

    To:hanyu0528
    谢谢
    我试了,还是不能成功,我在浏览器里测试了,能成功连接,但在程序里就不行
    用try catch
    抛出的异常为:找不到可安装的ISAM
    不知是为什么?!
      

  12.   

    找不到ISAM,一般就是连接语句出错导致的~!!!
    http://www.cnblogs.com/zyc2/archive/2008/10/21/182492.html
    你的路径设置成Data Source=\\\\服务器名\\文件夹 \\mydata.mdb 这样不行么?
      

  13.   

    远程连接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    --------------------------------------  附 远程连接SQL Server的方法:  ConnStr = "Provider=SQLOLEDB.1;Network Library=DBMSSOCN;Persist Security Info=True;User ID=UserName;Password=Password;Initial Catalog=远程数据库名;Data Source=203.129.92.1"  看看应该有帮助,呵呵
      

  14.   

    谢谢  你给的那个网站我看过,你说的这个方法我试过了,不行
    我的语句是:Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\Jngk_gxf\\001 \\001.mdb;Jet OLEDB:Database Password=datapass;Persist Security Info=False
    我的数据库没有密码
    上面的语句有错误吗?
      

  15.   

    谢谢 你说的这个我看过
    地址:http://hi.baidu.com/xiebaiqiao/blog/item/5ce3250e490f69e337d122a0.html
      

  16.   

    把局域网里面的Access数据库服务器中的Access数据库文件所在的文件夹设置共享
    然后写成这样:\\服务器名或IP\你共享的文件夹的名字\数据库名
      

  17.   

    谢谢!!!!hanyu0528
    程序调通!
    修改路径:Data Source=\\\\服务器名\\文件夹 \\mydata.mdb  
    谢谢!!!加个好友同样谢谢大家!!!!!
    结贴!
    再次谢谢大家!
      

  18.   

    虽然问题解决,但为什么要改成
    Data Source=\\\\服务器名\\文件夹 \\mydata.mdb  
    要四个\
    不知道!!!
      

  19.   

    你的语句Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\Jngk_gxf\\001 \\001.mdb;Jet OLEDB:Database Password=datapass;Persist Security Info=False 
    应该是少了一个“\”~!!,因为你的连接语句其实是 Data Source=\Jngk_gxf\001\001.mdb;(第一个\是转义字符)
    你看楼上的连接语句
    "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\ServerName\DatabaseFolder\Database.mdb;Jet OLEDB:Database Password=databasepw;Persist Security Info=False" 
    不知道你发现了没有
    或者说,你试过了,还是不行的话,那可能其他地方出错了,不是很清楚了~!!
    不过data source设置应该是像楼上那样的~!!
      

  20.   

    因为其中两个 \\(第一个和第三个) 是转义字符~!!呵呵
    Data Source=“\\\\服务器名\\文件夹 \\mydata.mdb”  
    其实Data Source 是\\服务器名\文件夹\mydata.mdb
    你看你文件夹前面都用了两个\\,其实相当于一个啊!!