我正在尝试使用TNS连接到Oracle数据库。
问题是TNS别名包含点,因此当我这样指定url时:
jdbc:oracle:thin:@TNS.ALIAS
我有...
oracle.net.ns.NetException: Invalid connection string format, a valid format is: "host:port:sid"
在建立连接期间
我知道点字符是一个问题,因为从tnsnames.ora
文件连接到数据库中删除它后,它就可以工作了。
我的问题是-是否可以以某种方式转义点字符?也许可以设置一些连接参数以允许别名中的点字符?我想避免从中删除点,tnsnames.ora
因为我是从外部源获取文件的。
这是我已经尝试过的给我同样错误的选项:
jdbc:oracle:thin:@"TNS.ALIAS"
jdbc:oracle:thin:@\"TNS.ALIAS\"
jdbc:oracle:thin:@`TNS.ALIAS`
jdbc:oracle:thin:@TNS\.ALIAS - this one is not compiling
jdbc:oracle:thin:@TNS\\.ALIAS
jdbc:oracle:thin:@TNS.ALIAS
jdbc:oracle:thin:@TNS\".\"ALIAS
jdbc:oracle:thin:@TNS%2eALIAS
以下是产生的选项oracle.net.ns.NetException: could not resolve the connect identifier
:
jdbc:oracle:thin:@TNSALIAS
jdbc:oracle:thin:@TNS-ALIAS
jdbc:oracle:thin:@TNS_ALIAS
其他内容:
DataSource
(OracleDataSource
严格来说)(它是Play框架-但我没有使用Play的创建数据库连接的方式-我是手动执行)tnsnames.ora
文件的SQL Developer,并且在那里工作tnsnames.ora
文件,并且在那里工作(数据源的定义如下:<add name="connectionName" connectionString="Data Source=TNS.ALIAS;"/>
我已经找到了问题-我是用旧的Oracle驱动程序(ojdbc7.jar
用于版本12.1.0.1
变更后)到较新的一个(ojdbc8.jar
进行版本12.2.0.1
由开始工作TNS别名)查找-没有必要逃避什么
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句