首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >我是否可以使用Type2 JDBC驱动程序从java内部调用SP,而无需传递用户名和密码?

我是否可以使用Type2 JDBC驱动程序从java内部调用SP,而无需传递用户名和密码?
EN

Stack Overflow用户
提问于 2018-08-02 23:16:55
回答 1查看 325关注 0票数 0

我的Java应用程序使用shell脚本调用表单,然后Java应用程序调用存储过程。在我使用Type4驱动程序之前,它工作得很好,但当我尝试使用Type2驱动程序时,它就不能工作了。我们不能使用密码通过java连接到数据库,这会导致使用Type2驱动程序。尝试使用类型2时出现以下错误:

com.ibm.db2.jcc.am.SqlException: jcc12245加载本机库db2jcct2时失败,java.lang.UnsatisfiedLinkError: db2jcct2 (在java.library.path中找不到):ERRORCODE=-4472,SQLSTATE=null

已尝试为64位设置本机库的路径,因为数据库为64位,使用:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/prods/db2/USH25D/sqllib/lib64 

似乎什么都不起作用。但问题是,TYPE2驱动程序是否支持对返回值的SP进行存储过程调用?如果不支持这一点,那么使其工作的努力将付诸东流。

EN

回答 1

Stack Overflow用户

发布于 2018-08-05 00:28:59

在这个回答中,我忽略了加载失败消息,并回答了与jdbc Type2JDBC连接功能相关的问题。

从db2-LUWv11.1IBM deprecated "db2jcc.jar“开始,这意味着它将不会获得任何新特性,尽管修补程序将继续提供。

IBM驱动程序的当前支持版本同时支持类型2连接和类型4连接,包括两种类型的并发,正如Db2指定的:

IBM Data Server Driver for JDBC and

是一个单独的驱动程序,它包括JDBC type2和JDBC type4行为。当应用程序加载用于JDBC和SQLJ的IBM Data Server Driver时,将为类型2和类型4实现加载单个驱动程序实例。应用程序可以使用这个单一的驱动程序实例建立类型2和类型4连接。类型2和类型4的连接可以同时进行。IBM Data Server Driver for JDBC and SQLJ type2驱动程序行为称为IBM Data Server Driver for JDBC and SQLJ type2连接。IBM Data Server Driver for JDBC and SQLJ Type4驱动程序行为称为IBM Data Server Driver for JDBC and SQLJ Type4 connectivity。“

因此,当我通过DriverManager接口对无密码的本地连接使用Type2URL format (jdbc:db2:mydbname)时,当db2jcc4.jar位于CLASSPATH的开头并且db2jcc.jar不在CLASSPATH上时,它会成功连接。

它还允许jdbc调用SQL存储过程,该存储过程返回输出参数(已正确检索)以及结果集等。

因此,除了URL之外,如果您使用的是db2jcc4.jar的当前版本,我不知道您还需要更改什么-通常需要进行仔细的测试。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51657082

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档