楼主考虑过吗?即使你能下载下来并且读取的话那么你也只有只读的权限.
比较实际的方法是在web服务上暴露访问这个access表里的相关访问接口.

解决方案 »

  1.   

    我的意思是,在winform里像调用sqlserver一样,读取accesss数据库里的内容,当然也可以增删改查
      

  2.   

    在Web服务器上创建个WebService服务,服务里包含你读写accesss数据库的方法,然后在winform里添加Web引用,然后就可以增删改查了
      

  3.   

    创建WebService服务:
    启动VS2005,打开[File]->[New]->[Web Site],新建ASP.NET Web Service。OK后,VS2005会自动创建项目,并在IIS中自动建立虚拟目录TestWebSite。
    在Solution Explorer中找到Service.asmx,点击右键,选择[View Code]。
    在代码的开始处添加引用: using System.Data.SqlClient; using System.Data.OleDb; using System.Data;在类中添加成员函数AccessDB(string Query),用于连接Access。 [WebMethod]
    public DataSet AccessDB(string Query)
    {
        try
        {
            string strAccessConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
                   + this.Server.MapPath("AccessWebServices.mdb");
            OleDbConnection myAccessConn = new OleDbConnection(strAccessConn);
            OleDbCommand myAccessCommand = new OleDbCommand(Query, myAccessConn);
            OleDbDataAdapter myDataAdapter = new OleDbDataAdapter(myAccessCommand);
            myAccessConn.Open();
            DataSet myDataSet = new DataSet();
            myDataAdapter.Fill(myDataSet, "Results");
            myAccessConn.Close();
            return myDataSet;
        }
        catch (Exception ex)
        {
            return DataError(ex);
        }
    } 注意ACCESS数据库需要放在TestWebSite目录下。接着,编译项目,成功后按[Ctrl+F5]查看Web Service是否正常工作。
      

  4.   

    再写下如何调用WebService:
    新建一个Windows Application项目,命名为TestApplication,在项目上点击右键,选择[Add Web Reference]来添加Web Service的引用。
    在[URL]中输入Web Service所在的路径,若地址正确将可以看到一个服务被找到。
    在[Web Reference Name]中将“localhost”改为“dbWebService”,点击[Add Reference]完成引用。接下来我们在Form1中添加dataGridView1及button1,双击button1,在事件中添加代码: TestApplication.dbWebService.Service Database = new TestApplication.dbWebService.Service(); DataSet ds = Database.AccessDB("select * from ftdept"); 
    dataGridView1.DataSource = ds.Tables[0];这样就查询出web服务器上的access的数据了。
      

  5.   

    开了一个webservice 有没有安全隐患??
      

  6.   

    学习中 ,这个可不可以用于 局域网进行操作ACCESS啊?就是说一台机子上装有服务器端  另外3台客户端  服务器上有access 数据库,那3台没数据库  可不可以用webservice 做啊???
      

  7.   

    局域网如果做c/s就没必要使用webservice了
      

  8.   

    如果是局域网就开个共享目录直接读取\\192.168.1.1\test.mdb(目录要设置可读可写,有风险)如果不是就只能通过webservice提供接口来进行操作。至余楼上提到的安全问题可以参见下面的NET 环境下的 Web Service 由 IIS 来提供,在该环境下,可以利用 IIS 的内置安全特性。 
    支持 HTTP 的 SSL 能够为 HTTP 中传输的数据提供保密性和完整性。通过启用客户端 X.509 证书(在 SSL 协议中是否使用客户端证书是可选的)可以提供预防抵赖服务。一旦启用 SSL,通过这些连接发送的所有数据都将加密并使用签名。  
    IIS 提供多种身份验证机制:基本身份验证、摘要式身份验证、集成 Windows 身份验证 (NTLM/Kerberos) 或 X.509 证书。对于提供 Web服务的特定目录,可以启用其中任何一种身份验证机制,相应地客户也可以提交相应证书,并通过 IIS 验证。此外,需要修改 Web Service 中的 web.config 文件以指明需要使用“windows”身份验证。同时,IIS 中需禁用匿名访问。  
    可使用 .NET 提供的“代码访问安全”机制提供身份验证。本质上,在采用 Web Service 方式时,这种机制能够提供调用 Web Service 的用户的身份。在已经对用户身份(由客户根据 IIS 配置验证机制来提供)进行检索以后,您可以显式地检查是否已授权用户访问该 Web 方法。 
      

  9.   

    局域网也只有用WebService或WCF等做中间接口一条路...共享文件方式安全性就不提了,多用户文件锁就够你受的...
      

  10.   

    5#,你好,看到你的用webservice连接服务器ACCESS数据库的解决方法了,在一台机子上调试好用,可是把程序安装到局域网其他机子上就联不上了,不到为什么,请赐教,谢谢
      

  11.   

    g a   f