做了个类似电驴那样的文件传输程序,每个客户端需要在本地记录一些数据,考虑到以文件形式操作不方便,所以想到了用数据库。我想问一下,如果用Access的话,是不是每个客户端都要在使用软件之前手动配置odbc那些东西?有没有方法可以使程序不论在哪台机子上,都可以自动的连接使用Access数据库

解决方案 »

  1.   

    把程序做成C/S类型的,把客户端打包成exe的不就是咯
      

  2.   

    这个p2p软件是基于kad网络的,所以没有中心结点,每个客户均拥有一个完整独立的客户端
    另外,java应用程序打包成exe?那又如何能自动配置数据库源?
      

  3.   

    采用类似cookie的方法。当客户第一次登录的时候,判断是否存在access文件,不存在则拷贝一个access模板到客户端,今后就可以正常读写操作了。
      

  4.   

    为什么非用Access?
    便携的数据库很多啊,比方说hsqldb,不需要任何配置的
      

  5.   

    嵌入式数据库我推荐使用 SQlite, 只要个动态库并且是单文件的数据库,看下这个 开源嵌入式数据库 SQLite 简介
      

  6.   

    模仿QQ的消息保存机制。在QQ里面有一个加密的QQ消息数据库,你可以参照 
      

  7.   

    java对access的访问有专门的jdbc驱动,你可以和访问mysql,oracle一样就可以!
      

  8.   

    前面大家说的差不多了,觉得有两种方式:
    1、你说的第一次运行前进行配置是通过桥连接方式与数据库交互的,那个在客户使用前必须配置数据源,java对access有自己的驱动,通过专用驱动连接access数据库的话不用手动配置的。
    2、我知道java有个小数据库java db类似于qq的聊天记录一样,放在客户端记录一些数据,也不用手动配置。
      

  9.   

    根据楼上各位朋友的提示,我试了试hsqldb
    选的是in-process模式,就是在java应用程序里直接调数据库文件
    他上边写着把db_name.script导到项目中来,那么我往数据库中写入的顺序到底存在哪儿了?怎么找不到个.sql之类的文件
      

  10.   

    数据就在.script文件中。
    应该将所有以db_name为名称前缀的子目录和文件都放到项目中来
      

  11.   

    现在能连接上数据库,并且我对它进行一些简单的操作,例如添加删除表等
    但是等我应用程序关闭后,所做的修改没有保存啊...这是为什么?我是想将每一次修改都及时保存在文件中,比如前面大侠所说的.script文件中
      

  12.   

    我在操作后边试了试加"shutdown"命令,发现能把修改保存到数据库文件中了,这样做对吗?