永发信息网

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

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

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

有问题请留言吧
全部回答
用JAVA写的软件,如果不连接数据库的也能用的话,那数据就保存成文件了,用流的操作实现
JAVA 很少被用来写像你说的那种软件,像你说的那种软件我也写过,不过用的是ACCESS数据库,要是其他的像Mysql 、 Oracle 、SQLServer那就必须得安装数据库……在哪里安装由系统需求来定……JAVA 一般都是用来写B/S系统的……必须要有一台专门的机器来为这个系统服务……
就是修改你的连接数据库的ip到远程有DB的机器上去,如果能联网的话

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

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

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

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

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

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

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

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
传说中的“龙巢”在哪里?
牧场物语蜜糖村挖矿-力之果实
桌面按钮不见了
中国制造如何被世界认可
如果前男友和他的现任女友一起欺负你怎么办?
哪位好友邀请我加入QQ校友QQ互偷群,本人多谢
如果你喜欢的人被别人伤害怎么办
怎么做能受女孩喜欢?
谁能帮我 起个等你说爱我 最相配的网名啊 属
为什么图标删不掉
大话2做天问题
DNF白手完美加点!
大家好.我是刘德华,我怎么才能让自己的唱功比
怎么样可以加入QQ校友?需要什么?
为什么qq农场不显示我刚加的好友?
推荐资讯
女生喜欢什么类型的男生啊
梦幻诛仙40级青云门带什么宝宝练级好
开通过QQ会员手机挂Q能享…
飞车紫钻真的事10/月吗?
谁能给我个可以自己做相册和视屏的网站呀,最
在生活中那七种女人难爱?
天龙的饿罐宝宝去那弄。。。
求《黑夜來臨》的可用鏈接地址!
请问我梦见和恋人结婚,有什么兆头啊?
CFM4系列 不同
2010年属猪的运势
OPOOA105K格式支持!
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?