如题,如果客户的电脑不安装office,程序可以使用access数据库吗,不能强制客户安装任何的东西,打包的时候如何做?access数据库office

解决方案 »

  1.   

    你想只用IE就访问Access?不可能。
      

  2.   

    将access数据库文件xxx.mdb放到你的项目下面,比如App_Data下面DataTable GetDataTable(string SQL){
    string path = AppDomain.CurrentDomain.BaseDirectory;
    string connectionstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + path + "/App_Data/xxx.mdb;Persist Security Info=False";
    OleDbConnection  conn = new OleDbConnection(connectionstring);
    conn.Open();
    OleDbDataAdapter adapter = new OleDbDataAdapter();
    OleDbCommand command = new OleDbCommand(SQL, conn);
    adapter.SelectCommand = command;
    DataTable Dt = new DataTable();
    adapter.Fill(Dt);
    Conn.Close();
    return Dt;
    }
      

  3.   

    楼上贴代码的时候,看看这一句"Provider=Microsoft.Jet.OLEDB.4.0;"
    看到这个provider没...楼主,"不能强制客户安装任何的东西,打包的时候如何做?"
    将MDAC集成打包进去,不强制客户端安装,偷偷安装,不让他知道...
    说笑了...
    如果你想要在客户端访问Access,又不让装对应的provider(并且客户端也没有这个provider),这就像你想让马跑,又不让马吃草一样不靠谱..
      

  4.   

    写程序时调用【ODBC数据源】它来替你代管。写个注册脚本。应该是这样。
      

  5.   

    你可以把oledb的类都复制到本地,在项目属性 引用那里就可以选择, 或者在你的程序的安装包自带access runtime
      

  6.   

    如果是Access 2003以下版本,操作系统都自带了相关驱动,无需安装什么。
    另外推荐SQLite数据库,性能比Access好得多,而且发布只需一个dll就行了。
      

  7.   


    这个不错,我认为也是,那个Access 实在太那个了, 很多sql语句都 不支持。