使用Vaadin 7,我创建了一个简单的登录表单,将用户名和密码传递给管理与Oracle系统的数据库连接的类。然后该类登录并创建一个会话。
以下凭据工作:
用户名:User1
密码:Password1
这些凭据会引发错误:
用户名:user1@email.com
密码:Password1
两者都是数据库中的有效用户。我已经在Oracle SQL Developer中使用了上述凭据来确认这一点。
我怀疑JDBC驱动程序不喜欢用户名中的“@”或“.”。有没有办法转义任一字符,以便JDBC驱动程序在连接字符串中忽略它?
堆栈跟踪:
Jan 28, 2014 5:07:48 PM oracle.jdbc.driver.OracleDriver registerMBeans
SEVERE: Error while registering Oracle JDBC Diagnosability MBean.
javax.management.MalformedObjectNameException: Invalid character '
' in value part of property
at javax.management.ObjectName.construct(Unknown Source)
at javax.management.ObjectName.<init>(Unknown Source)
at oracle.jdbc.driver.OracleDriver.registerMBeans(OracleDriver.java:303)
at oracle.jdbc.driver.OracleDriver$1.run(OracleDriver.java:213)
at java.security.AccessController.doPrivileged(Native Method)
at oracle.jdbc.driver.OracleDriver.<clinit>(OracleDriver.java:209)
at oracle.jdbc.pool.OracleDataSource.<clinit>(OracleDataSource.java:94)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at com.feith.core.Host.getUserConnection(Host.java:82)
at com.feith.core.FddSession.<init>(FddSession.java:96)
at com.feith.userregistration.DatabaseSessionController.DBConnect(DatabaseSessionController.java:123)
at com.feith.userregistration.DatabaseSessionController.<init>(DatabaseSessionController.java:59)
at com.feith.userregistration.UserLogin.login(UserLogin.java:158)
at com.feith.userregistration.UserLogin$1.buttonClick(UserLogin.java:95)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:508)
at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:198)
at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:161)
at com.vaadin.server.AbstractClientConnector.fireEvent(AbstractClientConnector.java:969)
at com.vaadin.ui.Button.fireClick(Button.java:355)
at com.vaadin.ui.Button.click(Button.java:344)
at com.vaadin.ui.Button$ClickShortcut.handleAction(Button.java:523)
at com.vaadin.event.ActionManager.handleAction(ActionManager.java:235)
at com.vaadin.event.ConnectorActionManager.handleAction(ConnectorActionManager.java:81)
at com.vaadin.event.ActionManager.handleAction(ActionManager.java:230)
at com.vaadin.event.ActionManager.handleActions(ActionManager.java:213)
at com.vaadin.ui.UI.changeVariables(UI.java:353)
at com.vaadin.server.communication.ServerRpcHandler.changeVariables(ServerRpcHandler.java:396)
at com.vaadin.server.communication.ServerRpcHandler.handleBurst(ServerRpcHandler.java:221)
at com.vaadin.server.communication.ServerRpcHandler.handleRpc(ServerRpcHandler.java:111)
at com.vaadin.server.communication.UidlRequestHandler.synchronizedHandleRequest(UidlRequestHandler.java:91)
at com.vaadin.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:37)
at com.vaadin.server.VaadinService.handleRequest(VaadinService.java:1382)
at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:238)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Unknown Source)
根据Oracle的说法,这是一个错误(BUG-6362104):JDBC驱动程序在加载时抛出MalformedObjectException或InstanceAlreadyExistsException。尝试从OTN再次下载驱动程序。如果您想知道您是否有修补的jar运行:
java-jarojdbc6.jar
未打补丁的罐子上印着
Oracle 11.1.0.6.0-Production JDBC 5.0 complied with JDK1.6
还有打补丁的罐子指纹
Oracle 11.1.0.6.0-Production+ JDBC 5.0 complied with JDK1.6
只需确保您拥有适用于Oracle DB版本的最新JDBC驱动程序。
我必须使用exe来运行某个函数。但是该目录包含某些具有特殊字符的文件夹,比如“.”,“-”,所以它不会被执行。我可以像重命名文件名一样重命名目录名吗?我不确定需要做什么。 我使用Linux环境。下面是一段代码, 有人能建议我吗?谢谢
问题内容: 我正在编写用于更改JSON文件的脚本,但是当文件转换回JSON时,它将扩展特殊字符。 例如,JSON文件包含带有“&”的密码。复制问题的快速方法是使用以下命令: PS>“密码和123” | Convertto-Json输出为:“ Password \ u0026123” -这是简化的JSON FILE的示例 问题答案: 这是由的自动字符转义功能引起的,并且会影响多个符号,例如 Conv
我有一个java程序正在使用HortonWorks的JDBC驱动程序连接到VirtualBox中的数据库。一切都运行得很好,但我在sql查询中的冒号有问题。 我正在尝试设置的rowid是“:rowid:”。我在前面和后面添加冒号,使列名对于其他应用程序是唯一的。现在冒号必须在那里,我想知道是否有一种方法使用官方站点的Hortonworks JDBC Driver for Apache Hive(v
本文向大家介绍Oracle用户密码含特殊字符时登陆失败问题,包括了Oracle用户密码含特殊字符时登陆失败问题的使用技巧和注意事项,需要的朋友参考一下 当Oracle数据库用户的密码含特殊字符如 @ 时,直接使用正常的密码输入,由于oracle将@后的字符解析为网络服务名而导致登陆失败 如下演示 用户名为:wang密码为:oracle@1网络服务名为:sun 的情况: Linux平台:'wang/
问题内容: 我必须检测一个字符串是否包含任何特殊字符。我该如何检查?Swift支持正则表达式吗? 我尝试了上面的代码,但是只有当我输入第一个字符作为特殊字符时,它才匹配。 问题答案: 您的代码检查字符串中是否没有字符来自给定的集合。您要检查的是给定集合中是否 没有 任何 字符: __ 您还可以使用正则表达式实现此目的: 该模式匹配的字符 不在 AZ,az或0-9范围内。 Swift 2更新: Sw
我有一个密码字段,我需要使用javascript检查它是否有以下字符: ! @ # $ % ^ 我试着这样做,结果正如预期的那样: 有没有更简单/有效的方法来做到这一点?