永发信息网

java写的带数据库的程序如何在没安装数据库的系统上运行

答案:7  悬赏:80  手机版
解决时间 2021-07-16 18:58
  • 提问者网友:送舟行
  • 2021-07-16 15:54
就比方说很多软件都可以在任意机器运行 并不需要你配置什么东西 那是怎么具体实现了 是不是在导出jar包中装了什么 怎么配置的等等
最佳答案
  • 五星知识达人网友:老鼠爱大米
  • 2021-07-16 17:16
你的问题应该从两个方面进行分析
第一、使用java内嵌式数据库
在程序中使用 Derby和HSQLDB等java内嵌式数据库,只需在程序中将数据库配置好即可,是程序专用的。
可以达到你所说的java数据库程序不需要配置在任何机器上运行。
但是,内嵌式数据库的处理能力很低,只适合小数据量的程序使用。
第二、使用Oracle、MSSql、MySql等数据库
首先这些数据库软件需要安装,即使不在本机安装也需要在一台可以访问到的机器上安装,然后使用jdbc访问。
如果程序安装在已经安装这些数据库的机器上,你只需要将程序的数据库访问指向本机即可。
但是,在本机安装数据库的机器很少,大部分都是访问网络上的数据库,这就需要你引入配置文件。
在配置文件中进行参数配置。当然,你可以写一些默认配置,当实际环境与默认配置不同时就需要修改默认配置。

所以说不用配置的程序其实是符合你默认配置的程序,你需要根据不同的系统或环境组织自己的默认配置文件。
没有万能的东西,只能是适应大部分,而且需要你在编写程序时提前考虑针对各种运行环境的变化。

有问题请留言吧
全部回答
  • 1楼网友:举杯邀酒敬孤独
  • 2021-07-16 22:35
用JAVA写的软件,如果不连接数据库的也能用的话,那数据就保存成文件了,用流的操作实现
  • 2楼网友:山君与见山
  • 2021-07-16 21:01
JAVA 很少被用来写像你说的那种软件,像你说的那种软件我也写过,不过用的是ACCESS数据库,要是其他的像Mysql 、 Oracle 、SQLServer那就必须得安装数据库……在哪里安装由系统需求来定……JAVA 一般都是用来写B/S系统的……必须要有一台专门的机器来为这个系统服务……
  • 3楼网友:轻雾山林
  • 2021-07-16 20:30
就是修改你的连接数据库的ip到远程有DB的机器上去,如果能联网的话
  • 4楼网友:想偏头吻你
  • 2021-07-16 19:03

如果是连接oracle就用上面的那个

如果是sqlserver就把Connection con = DriverManager.getConnection("jdbc:sqlserver:127..0.1:1433:database=数据库","用户名","密码")

  • 5楼网友:雪起风沙痕
  • 2021-07-16 18:54

只要用到了数据库就必须存在,但不一定要在应用程序的机子上.你用的是java,连库方式假设是JDBC,数据库用oracle那么里面肯定有这样一条语句:

DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:XINDAI","xindai","netcop");

只要把中间那个127.0.0.1:1521改成有数据库的机子的IP地址和对应端口就可以了..就算数据库不是oracle但连库语句里一定会有IP和端口地址的

  • 6楼网友:不如潦草
  • 2021-07-16 17:46

其实 数据库本身也是一些文件,你可以打开mysql 的data 目录去看下,只是数据库厂商让你存储的文件更安全,而且存储效率和读取效率更高而已,你可以在QQ的目录下找到很多*.db格式的文件,或者.dat文件,其实那些都是数据文件,腾讯这样的大公司并不需要厂商提供给他们数据库,他们可以根据他们的软件来定制数据库,所以,数据库文件和软件全部都是在QQ目录下面的,只是你不知道而已

当然,你完全可以使用 mysql免安装版 来实现这个功能,但是这样的话,你会占用很多用户的空间,因为mysql免安装版 本身就是30MB多,而且很多功能也许你的程序根本就用不上,所以你可以用C++写针对你程序本身的本地数据库,这样就可以实现本地数据库

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯