如何设置MyEclipse JDBC数据源
发布网友
发布时间:2022-05-02 04:08
我来回答
共3个回答
懂视网
时间:2022-05-02 08:29
BasicDataSource bds=getDataSource();
try{
bds.close();
}
catch(Exception e){
e.printStackTrace();
}
bds.setUsername("sa");
bds.setPassword("admin");
还说要先关闭,再修改配置才能生效。
这样的代码根本就实现不了所说的功能,直接运行出错。连接池关闭后,就无法使用了。本身也没有open,reopen之类的方法。
也有说C3P0支持热修改,但本身好像有bug,容易出错死锁错误。也就没有去研究到底支持不。
BasicDataSource 的close方法其实只设置了一个标识变量:closed,标记为关闭就取不到连接,要是能修改该标识为非关闭,就可以继续使用了。
所以实现的思路是:先关闭,再修改配置,再打开标识。问题是BasicDataSource并没有这样的接口提供出来,幸运的是,BasicDataSource中的
closed属性是protected,也就是我们可以在子类中访问到这个属性,也就可以进行修改了。
所以只要自定义一个类继承于BasicDataSource,提供如下方法即可:
public void open(){
this.closed=false;
}
当然配置文件中使用的数据源的类名就需要改为这个自定义类了。
说明:文章为作者从CSDN迁移过来
动态修改JDBC数据源配置
标签:protect csdn nbsp c3p0 文章 项目 ack source 功能
热心网友
时间:2022-05-02 05:37
1. 创建一个MyEclipse JDBC数据源
(1)通过选择Windows>Open Perspective>MyEclipse Report Design来打开报表设计视角。
(2)通过创建报表或打开一个现有的报表来启动报表设计器。
(3)在数据库资源管理器中,右键单击Data Sources,然后选择New Data Source。
如果此视图不可见,那么选择Window>Show View>Other,展开MyEclipse Report Design,并选中Data Explorer。
创建一个新的数据源
(4)选择MyEclipse JDBC数据源、MyEclipse Derby DS在数据源名称字段中的类型,然后单击下一步。
选择数据源类型
(5)从驱动程序的下拉菜单中选择MyEclipse Derby,然后单击Finish。
如果您想要创建一个新的MyEclipse JDBC驱动程序,请单击创建新驱动程序的链接。您还可以使用编辑驱动程序的链接来编辑现有的驱动程序。
注意:要实现无缝的MyEclipse报表整合,只有选择保存密码的驱动程序。要了解更多有关MyEclipse驱动程序的信息,请参阅Connecting to a Database in MyEclipse。
选择一个驱动器
(6)在数据源的一般属性中输入一个描述性名称。
命名数据源
新的MyEclipse Derby DS数据源会出现在数据库资源管理器视图中。
MyEclipse Derby DS数据源
在创建新MyEclipse JDBC数据源的过程中,数据库资源管理器的JDBC驱动程序属性、链接URL、驱动程序类名称、用户名和密码都会被复制到报表文件中。此外,数据库资源管理器的JDBC驱动程序的JAR文件会被复制到该文件夹中,<projectName>/WebRoot/Web-INF/report-engine/platform/plugins/org.eclipse.birt.report.data.oda.jdbc_<version>/drivers。这些JAR文件和报表Web项目一起部署。
2. 编辑MyEclipse JDBC数据源
在一个MyEclipse JDBC数据源的生命周期中,可能需要重命名数据源或更改MyEclipse JDBC驱动程序来绑定到数据源上。
2.1 重命名数据源
要重命名的数据源,在数据库资源管理器中右键单击数据源,并选择重命名。对于当前的报表您使用的名称必须是唯一的。
2.2 更改MyEclipse JDBC驱动程序绑定到数据源上
(1)在数据库资源管理器中,展开数据源,右键单击您要修改的数据源,并选择编辑。
编辑数据源
(2)从驱动程序的下拉列表中选择一个新的MyEclipse驱动程序,然后单击确定来提交您更改的报表。
MyEclipse JDBC数据源编辑器
如果您更改了相关的MyEclipse驱动程序,新驱动程序的驱动程序JAR(s)会被复制到您的项目中。
由于MyEclipse JDBC数据源连接了MyEclipse JDBC驱动程序,因此数据源的JDBC属性不能直接在数据源中编辑。要更改这些属性,您必须在相关的数据库资源管理器驱动程序中编辑它们。
3. 手动同步JDBC数据源
报表工具在MyEclipse中的描述自动同步之后旧的JDBC数据源状态能持续。发生这种情况有几个原因。例如,在一个项目中数据源验证器无法检测到旧的数据源,该项目是关闭的;因此这些资源在同步窗口是不可用的。在这样的情况下,可以通过手动同步JDBC数据源。
(1)在数据源资源管理器中,右键单击旧的JDBC数据源,并选择编辑。
手动同步
(2)在左边的列表中,选择MyEclipse JDBC数据源,然后单击同步驱动程序。
当您在报表设计器预览页面中预览结果时,报表数据源被连接到MyEclipse JDBC驱动程序上,相关的数据库资源管理器的JDBC驱动程序的JDBC属性被用于建立数据库连接,这些JDBC属性可能存储在您的报表文件中。在运行时,JDBC属性在您的报表中被使用。
如果您提供自定义数据源绑定,那么这些绑定的属性会优先于数据库资源管理器的JDBC驱动程序属性,对于预览操作也是如此。如果指定了不正确的属性值,可能会导致数据库连接不成功。
编辑属性绑定
热心网友
时间:2022-05-02 06:55
先设置数据源:http://blog.csdn.net/justoneroad/article/details/7216202
然后写连接数据库代码:http://zhidao.baidu.com/question/48202282.html
例子中都是以MSSQL为例