当前位置: 首页 > 知识库问答 >
问题:

登录错误:IO错误:连接字符串格式无效,使用SAP crystal reports JAVA API的有效格式为:“主机:端口:SID”

汝志
2023-03-14

我们有一个基于Java的桌面应用程序,它执行两部分jdbc登录,一个是创建与Oracle DB的连接,这让用户执行查询和存储过程,第二个jdbc登录发生在用户试图生成/打印Crystal报表时。对于这个crystal java接口,我们使用了来自SAP社区的crjava-runtime_12.2.223.zip库。现在奇怪的事情是在我们所有的开发人员的机器上,我们没有遇到任何无效连接字符串格式的错误,但这个错误只发生在一个生产用户的帐户上。他能够成功地登录到应用程序,即第一个jdbc连接,但当他试图与crystal接口建立连接时,他面临以下错误:登录错误:IO错误:无效连接字符串格式,有效格式为:“主机:端口:SID”

我们试图通过遵循jdbc URL格式来解决这个问题(阅读大量Java jdbc问题--如何使用jdbc格式连接到Oracle),但在与Crystal接口建立连接时,他总是得到相同的错误。(用户的SID和服务名与abcprod相同)

  1. jdbc:oracle:thin:@abc-db.abchosting.local:1521:abcprod
  2. jdbc:oracle:thin:@//abc-db.abchosting.local:1521/abcprod
  3. jdbc:oracle:thin:@abcprod(使用TNSFILE)
  4. jdbc:oracle:thin:@abc-db.abchosting.local:1521/abcprod

用户在oracle版本12C上,但在同一数据库上有另外两个用户,他们根本不会遇到此错误。有没有人建议我们应该检查什么,是应用程序问题(代码级别)还是Oracle授权/权限问题?我已经让DBA比较了这三个用户的授权,但他说他们的授权都是一样的。有什么暗示或建议吗?

这个问题与Oracle的JDBC库无关,这与SAP Crystal Report的java库有关,因为如果我们与Oracle的JDBC库建立连接,它工作得很好,我的第一条语句是:两部分JDBC登录,第一部分使用普通的Oracle的JDBC库,它工作得很好,第二部分使用Crystal的库,第一部分使用的连接字符串/URL,当尝试建立连接时,它会抛出错误,但这个错误只针对一个用户,其他用户在生产中不会遇到这个错误。

共有1个答案

太叔京
2023-03-14

我们能够解决这个问题。虽然我们已经尝试了很多解决方案,但问题只是出现在用户的密码中有特殊字符的情况下,比如,如果他们设置了如下的密码:abcd@12345,这个'@'字符将导致此错误。删除此字符解决了此问题,并且建议不要使用“@”、“.”等字符。在你的密码里。

https://asktom.oracle.com/pls/apex/f?p=100:11:::no:rp:p11_question_id:9533940800346284735

 类似资料:
  • 问题内容: 目前,我正在开发一项功能,该功能涉及解析从另一产品收到的XML。我决定对一些实际的客户数据进行一些测试,看起来其他产品正在允许来自用户的输入被认为是无效的。无论如何,我仍然必须尝试找出一种解析它的方法。我们正在使用,但输入出现错误,如下所示。 如你所知,说明中包含似乎是无效标签的内容。现在,此描述标签被称为是叶子标签,并且其中不应包含任何嵌套标签。无论如何,这仍然是一个问题,并且会在

  • 问题内容: 使用uCanaccess检索保存在桌面中的数据库时出现错误。 我的代码如下: 导入java.util.Scanner; 导入java.sql。*; 公共类dbTest1 { } 我将很乐意为您解决此错误提供任何建议。 谢谢,文斯 问题答案: 好吧,首先,导入您的库(lib文件夹中的jar文件)。http://sourceforge.net/projects/ucanaccess/fil

  • 问题内容: 众所周知,使用存在潜在的安全风险,因此提倡使用 但是在python 2.7中,运行此示例时会返回: 而在python 3.3中,此示例按预期工作: 为什么它在python 3而不是python 2上运行?如何在不使用高风险函数的情况下在python 2.7中进行修复? 问题答案: 这在Python 2上不起作用的原因在于它的实现。当righth操作数为复数时,原始实现只对加法和减法执行

  • 我正在尝试使用 TNS 连接到甲骨文数据库。 问题是TNS别名包含点,所以当我这样指定url时: 我有… ...创建连接期间。 我知道点字符是一个问题,因为从< code>tnsnames.ora文件中删除它后,与数据库的连接正常。 我的问题是——有没有可能以某种方式对点字符进行转义?也许有一些连接参数可以设置为允许在别名中使用点字符?我希望避免从< code>tnsnames.ora中删除点,因

  • 我使用以下代码: 并得到以下错误: 这就好像客户端连接时甚至没有说SSL,但我被难住了。 尝试“强制”SSL套接字不会产生任何区别: 设置插座出厂时产生一个插座关闭异常: 我应该注意,我可以使用sftp操作endpoint,这样我就可以推断endpoint是否正常工作。

  • 我试图从JsonData将AdMob ID输入我的应用程序,以便将来可以更改它。 我的愿景: JSON文件将被上传到我的服务器,它的链接将在应用程序内。在json文件中找到的AdMob ID应在应用adUnitID中使用。到目前为止,我做了这个: 这是我的json文件: 问题是,它不仅不起作用,还会导致我的应用程序崩溃,并出现以下错误: 编辑:新日志: 我的片段完整代码: 任何帮助将不胜感激,谢谢