Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
sql ant任务为LDAPS oracle连接字符串提供错误_Sql_Oracle_Ant - Fatal编程技术网

sql ant任务为LDAPS oracle连接字符串提供错误

sql ant任务为LDAPS oracle连接字符串提供错误,sql,oracle,ant,Sql,Oracle,Ant,我们正在使用ant执行sql任务——在我们在Oracle连接字符串中使用LDAPS之前,它一直工作得很好。使用下面提到的Oracle LDAPS连接字符串,它将抛出异常-ClassNotFoundException:Oracle.net.jndi.CustomSSLSocketFactory。我们尝试了ojdbc6.jar和ojdbc14.jar,但没有用。(带有-v的ant构建表明它引用的是ojdbc6.jar或ojdbc14.jar) 使用相同的连接字符串,我们可以通过“Oracle SQL

我们正在使用ant执行sql任务——在我们在Oracle连接字符串中使用LDAPS之前,它一直工作得很好。使用下面提到的Oracle LDAPS连接字符串,它将抛出异常-
ClassNotFoundException:Oracle.net.jndi.CustomSSLSocketFactory。我们尝试了ojdbc6.jar和ojdbc14.jar,但没有用。(带有-v的ant构建表明它引用的是ojdbc6.jar或ojdbc14.jar)

使用相同的连接字符串,我们可以通过“Oracle SQL Developer”进行连接。我们更改了basePath以包含sqldeveloper\jdbc\lib路径,但仍然得到相同的classnotfoundexception。请告知

谢谢 库马尔

环境规范

1. Oracle: 10.2.0.4
2. Java JDK: 1.6 (Oracle GlassFish)
3. ojdbc6.jar (Oracle Database 11g Release 2 (11.2.0.3) JDBC Drivers)
4. ojdbc14.jar (Oracle Database 10g Release 2 (10.2.0.4) JDBC Drivers )
5. OS: Windows 7 64 bit
LDAPS连接字符串

jdbc:oracle:thin:@ldaps://${lDAP-server}:${ldap-port}/${Schema},cn=OracleContext,dc=xxx,dc=com"
SQL ant任务

< sql driver="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@ldaps://${lDAP-server}:${ldap-port}/${Schema},cn=OracleContext,dc=xxxx,dc=com" userid="${this.service.db.user}" password="${this.service.db.password}" classpathref="base.classpath"> 
SELECT * FROM SOMETHING;
</sql>

从某物中选择某物;
完整异常跟踪:

BUILD FAILED
The following error occurred while executing
 this line:
java.sql.SQLRecoverableException: IO Error:
JNDI Package failure **javax.naming.CommunicationException**: servername:port (changed) [Root exception is **java.lang.ClassNotFoundException: oracle.net.jndi.CustomSSLSocketFactory**]
        at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:458)
        at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:546)
        at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:236)
        at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
        at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:521)
        at org.apache.tools.ant.taskdefs.JDBCTask.getConnection(JDBCTask.java:370)
        at org.apache.tools.ant.taskdefs.SQLExec.getConnection(SQLExec.java:942)
        at org.apache.tools.ant.taskdefs.SQLExec.execute(SQLExec.java:614)
        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
        at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
        at org.apache.tools.ant.Task.perform(Task.java:348)
        at org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:68)
        at net.sf.antcontrib.logic.IfTask.execute(Unknown Source)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
        at org.apache.tools.ant.TaskAdapter.execute(TaskAdapter.java:154)
        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
        at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
        at org.apache.tools.ant.Task.perform(Task.java:348)
        at org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:68)
        at net.sf.antcontrib.logic.IfTask.execute(Unknown Source)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
        at org.apache.tools.ant.TaskAdapter.execute(TaskAdapter.java:154)
        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
        at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
        at org.apache.tools.ant.Task.perform(Task.java:348)
        at org.apache.tools.ant.Target.execute(Target.java:392)
        at org.apache.tools.ant.Target.performTasks(Target.java:413)
        at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
        at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
        at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
        at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:442)
        at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105)
        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
        at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
        at org.apache.tools.ant.Task.perform(Task.java:348)
        at org.apache.tools.ant.Target.execute(Target.java:392)
        at org.apache.tools.ant.Target.performTasks(Target.java:413)
        at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
        at org.apache.tools.ant.Project.executeTarget(Project.java:1368)
        at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
        at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
        at org.apache.tools.ant.Main.runBuild(Main.java:811)
        at org.apache.tools.ant.Main.startAnt(Main.java:217)
        at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
        at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)
Caused by: oracle.net.ns.NetException: JNDI Package failure javax.naming.CommunicationException: server:port (changed) [Root exception is java.lang.ClassNotFoundException: oracle.net.jndi.CustomSSLSocketFactory]
        at oracle.net.jndi.JndiAttrs.<init>(JndiAttrs.java:161)
        at oracle.net.resolver.AddrResolution.<init>(AddrResolution.java:193)
        at oracle.net.ns.NSProtocol.connect(NSProtocol.java:219)
        at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1102)
        at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:320)
        ... 64 more
生成失败
执行时发生以下错误
这一行:
java.sql.SQLRecoverableException:IO错误:
JNDI包失败**javax.naming.CommunicationException**:servername:port(已更改)[根异常为**java.lang.ClassNotFoundException:oracle.net.JNDI.CustomSSLSocketFactory**]
位于oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:458)
位于oracle.jdbc.driver.PhysicalConnection.(PhysicalConnection.java:546)
位于oracle.jdbc.driver.T4CConnection(T4CConnection.java:236)
位于oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
位于oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:521)
位于org.apache.tools.ant.taskdefs.JDBCTask.getConnection(JDBCTask.java:370)
位于org.apache.tools.ant.taskdefs.SQLExec.getConnection(SQLExec.java:942)
位于org.apache.tools.ant.taskdefs.SQLExec.execute(SQLExec.java:614)
位于org.apache.tools.ant.UnknowneElement.execute(unknowneElement.java:291)
位于sun.reflect.GeneratedMethodAccessor4.invoke(未知源)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)中
位于java.lang.reflect.Method.invoke(Method.java:597)
位于org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
位于org.apache.tools.ant.Task.perform(Task.java:348)
位于org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:68)
位于net.sf.antcontrib.logic.IfTask.execute(未知源)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)中
位于java.lang.reflect.Method.invoke(Method.java:597)
位于org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
位于org.apache.tools.ant.TaskAdapter.execute(TaskAdapter.java:154)
位于org.apache.tools.ant.UnknowneElement.execute(unknowneElement.java:291)
位于sun.reflect.GeneratedMethodAccessor4.invoke(未知源)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)中
位于java.lang.reflect.Method.invoke(Method.java:597)
位于org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
位于org.apache.tools.ant.Task.perform(Task.java:348)
位于org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:68)
位于net.sf.antcontrib.logic.IfTask.execute(未知源)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)中
位于java.lang.reflect.Method.invoke(Method.java:597)
位于org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
位于org.apache.tools.ant.TaskAdapter.execute(TaskAdapter.java:154)
位于org.apache.tools.ant.UnknowneElement.execute(unknowneElement.java:291)
位于sun.reflect.GeneratedMethodAccessor4.invoke(未知源)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)中
位于java.lang.reflect.Method.invoke(Method.java:597)
位于org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
位于org.apache.tools.ant.Task.perform(Task.java:348)
位于org.apache.tools.ant.Target.execute(Target.java:392)
位于org.apache.tools.ant.Target.performTasks(Target.java:413)
位于org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
位于org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
位于org.apache.tools.ant.Project.executeTargets(Project.java:1251)
位于org.apache.tools.ant.taskdefs.ant.execute(ant.java:442)
位于org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105)
位于org.apache.tools.ant.UnknowneElement.execute(unknowneElement.java:291)
位于sun.reflect.GeneratedMethodAccessor4.invoke(未知源)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)中
位于java.lang.reflect.Method.invoke(Method.java:597)
位于org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
位于org.apache.tools.ant.Task.perform(Task.java:348)
位于org.apache.tools.ant.Target.execute(Target.java:392)
位于org.apache.tools.ant.Target.performTasks(Target.java:413)
位于org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
位于org.apache.tools.ant.Project.executeTarget(Projec