QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 803|回复: 7

[jdbc]碰到问题了。请教,谢谢。

[复制链接]
发表于 2003-9-26 19:56:48 | 显示全部楼层 |阅读模式
http://www.linuxfans.org/nuke/modules.php?name=Forums&file=viewtopic&t=38614

数据库连接器除图形界面外的主体部分已经完成80%,但是现在我碰到问题了。

注意“ jdbc连接器"DB_init.java"”,里头有一个方法,叫“private static void load_conf(String conffile,int mode)”的。它的作用是从配置文件里读取相关的连接记录,实现无人工干预的自动连接。配置文件格式如下:
[code:1]
文件顶部
[DBMS_name]MySQL
[driver]org.gjt.mm.mysql.Driver
[url]jdbc:mysql://192.168.1.1/dbtest_1
[login]TFW
[passwd]720500
空的行
[/code:1]
现在,方法“load_conf”已经能够从配置文件里读出东西,并赋给String dbconf。赋值结束后,dbconf的内容为:
[code:1]
[DBMS_name]MySQL\n[driver]org.gjt.mm.mysql.Driver\n[url]jdbc:mysql://192.168.1.1/dbtest_1\n[login]TFW\n[passwd]720500\n
[/code:1]
我需要把每段“]”和“\n”之间的部分分别赋给“DBMS_name”、“driver”、“url”、“login”和“passwd”5个字符串。

在用C语言写程序的时候,我对字符数组的处理已经十分习惯了,所以我希望能把里面所有的字符放进数组。教材上有这么个办法,但是实践发现是错的,赋值完成后数组里净是乱码。

现在向大家请教,不管用什么办法,只要能成就行。需要注意的是,这是从配置文件里读取,而不是事先写入程序的,所以除了“[]”内的部分,长度事先是不知道的。
发表于 2003-9-27 10:26:53 | 显示全部楼层
建议不要使用自己定义的配置文件 可以用util.properties这个类
用它的get和set直接得到配置信息 (而且这样可以生成动态的语言版本哦 很诱人的功能)
如果要自己做的话 也可以用strtoken来截字符串 记得用它的默认构造函数生成的就是区分/t/n和一些别的特殊字符的
回复

使用道具 举报

发表于 2003-9-27 10:29:13 | 显示全部楼层
另外问一下 你做的这个连接器是干吗的 是实现连接池的功能么?
回复

使用道具 举报

 楼主| 发表于 2003-9-27 13:21:47 | 显示全部楼层
想做这么一个东西(如图),方便程序中其他组件调用。提供跨种类的数据库连接。关于非标准配置文件,还是有点必要,不过满费口舌的。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复

使用道具 举报

发表于 2003-9-27 13:42:29 | 显示全部楼层
配置文件建议使用Windows的INI文件格式。
读配置文件时请使用Reader的readLine()方法。
分隔字符串可以使用String的split()方法。
使用String而不是字符数组。
建议按照Sun给出的Java编码规范编码,这样别人读你的代码时轻松一些。
使用Java时请忘掉C。
回复

使用道具 举报

发表于 2003-9-27 14:27:10 | 显示全部楼层
[quote:be5e1e9bce="自由狼-台风"]想做这么一个东西(如图),方便程序中其他组件调用。提供跨种类的数据库连接。关于非标准配置文件,还是有点必要,不过满费口舌的。[/quote]
看你的介绍是支持用户指定配置文件的吧
我感觉这时候使用标准格式就很重要 每个人每个写法的话 无论如何程序也不能支持的 既然是给java用 就该用java的传统么
举个例子 一个电信系统的程序用这个模块 很明显它方便的做法是数据库的参数和其他的:操作员 局点 交换机型 协议类型 这些配置信息都放在一起 如果你的配置格式不通用 就势必要求使用模块的人也用这个格式...
回复

使用道具 举报

 楼主| 发表于 2003-9-27 15:23:37 | 显示全部楼层
这种配置文件只用于这种模块.我由于某些原因,几乎是必须使用这种怪怪的配置文件.等我有空做下一个版本时,一定支持标准配置文件.眼下所需的就是从长字符串里抠出短的.
回复

使用道具 举报

 楼主| 发表于 2003-9-30 21:16:44 | 显示全部楼层
问题没有解决,但是被绕开了。

http://www.linuxfans.org/nuke/modules.php?name=Site_Downloads&op=geninfo&did=1455
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-14 11:34 , Processed in 0.062730 second(s), 17 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表