Tag: oracle

Hibernate Mapping – 使用关联表连接两个表 – 但是有一个扭曲

我有以下实体… Customer , Card和Address 顾客: { private String cust_id; // Primary key ….. @OneToOne Address address; // I want to load address of the customer. // Can change the association to @OneToMany, if needed } 卡: { private String card_id; // Primary Key private String cust_id; // Foreign Key to Customer.cust_id …. } 地址: { […]

使用Java将Oracle数据库迁移到MS Access的最佳方法是什么?

这可能是一个非常基本的问题,但我可以从StackOverflow的专家处获得一些帮助。 我只是头脑风暴,权衡所有可用的选项。 所以,我不需要帮助代码。 但是,一些建议或想法会有所帮助。 这是我认为可行的方法: 使用JDBC建立与Oracle的ad / b连接 运行SQL语句以从Oracle获取数据 存储在数据结构中获得的数据 使用JDBC-ODBC桥驱动程序建立与MS Access的ad / b连接 在Access中创建一个新的d / b并使用SQL将其插入其中 关闭连接 有没有更简单或更有效的方法来做到这一点? 另外,这个过程需要为几个客户完成,而ad / b中的每个表都有数百万条记录。 手动执行此过程会花费大量时间,因此这不是一个可行的选择。 好吧,我讨厌让这个变得复杂。 但是,从Oracle导入数据后,我们正在使用Java代码操作数据。 因此,在数据转换之后,我们希望将其迁移到MS Access并将其发送到客户端。 我非常感谢您的时间和帮助。

java.sql.SQLException:ORA-00904

我得到以下exception – java.sql.SQLException: ORA-00904: : invalid identifier ORA-06512: at line 1 以下是我试图执行的查询 – public static final String DATABASE_TABLE = “LnPData”; public static final String CREATE_SQL = “DECLARE ” + “t_count INTEGER; ” + “v_sql VARCHAR2(1000) := ‘create table ” +DATABASE_TABLE + “(” + “(ID number(10,0), ” + “CGUID VARCHAR(255), ” + “PGUID VARCHAR(255), ” + […]

在Oracle数据库中将byte 数组作为blob插入ORA-01460:请求未实现或不合理的转换

我有一个java存储过程,我试图将byte []数组插入表中的oracle blob字段。 我创建一个准备好的语句如下,但是当我执行预准备语句时它会随机失败。 我已经缩小了问题来自pstmt.setBytes(4,content)。 我得到的错误是: ORA-01460:请求未实现或不合理的转换。 private static void insertFile(Connection connOracle, int zipFileId, byte[] data, String filepath, String filename ) throws SQLException { try { String QUERY = “INSERT INTO files(file_id, zip_file_id, filename, file_path, content) VALUES(SEQ_FILE_ID.nextval,?,?,?,?)”; PreparedStatement pstmt = connOracle.prepareStatement(QUERY); pstmt.setInt(1,zipFileId); pstmt.setString(2, filename); pstmt.setString(3, filepath); pstmt.setBytes(4, data); System.out.println(“INSERTING file_id ” + filepath + “, […]

使用SequenceGenerator的javax.persistence.EntityExistsException

我在Oracle DB中插入了一些记录。 为了唯一性,我使用的是SequenceGenerator。 以下是代码: public class XxspPoInLineLocqty implements Serializable { @Id @SequenceGenerator(name = “SequenceLocIdGenerator”, sequenceName = “LINE_LOCQTY_JPA_ID_SQ”) @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = “SequenceLocIdGenerator”) @Column(name=”LINE_LOCQTY_JPA_ID”) private Long lineLocqtyJPAId; //other fields.. } XxspPoInLineLocqty与XxspPoInLine具有@ManyToOne关系。 当我持久化XxspPoInLine实体时,我收到以下错误: javax.persistence.EntityExistsException: A different object with the same identifier value was already associated with the session : [com.bcone.oracle.ebs.model.XxspPoInLineLocqty#76] at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:116) at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:155) at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:162) […]

如何在javaFx中为一个场景创建一个菜单栏

我基本上是Java FX 2的新手。 场景: 我有3个场景,我想要一种方法来添加菜单栏,这样我就不想从前一个场景中明确删除菜单栏并将其添加到新场景中。 像某些东西,父场景或某种方式菜单栏附加到舞台。 我的意思是菜单栏只添加了一次,并且无论前面或下面的场景是什么都会出现。 如果这是可能的我该怎么做? 以下是Oracle Docs of JavaFX提供的默认示例http://docs.oracle.com/javafx/2/ui_controls/MenuSample.java.html public class Main extends Application { final ImageView pic = new ImageView(); final Label name = new Label(); final Label binName = new Label(); final Label description = new Label(); public static void main(String[] args) { launch(args); } @Override public void start(Stage stage) […]

从XML生成SQL模式

我们正在使用Oracle 11数据库和Java开发环境(使用Eclipse),并希望将多个xml架构迁移到SQL架构。 看过ax xsd,但确实需要一些我们可以在没有安装SQL Server的情况下从ant / Eclipse运行的东西。 问候, 安迪

Oracle DB表或视图不存在

我正在尝试将Oracle数据库连接到我的JAVA Web项目。 当使用系统创建与数据库的连接时,用户连接成功建立。 但是当我在连接中执行一个简单的select *命令时,它说 错误代码942,SQL状态42000:ORA-00942:表或视图不存在。 这些sql查询在sqldeveloper中工作。 没有错误。 我正在使用oracle 10g瘦客户端ojdbc6驱动程序和jdk 1.7 可能是什么问题? Internal Exception: java.sql.SQLSyntaxErrorException: ORA-00942: table or view does not exist Error Code: 942 Call: SELECT USERID, FULLNAME, USERNAME, USER_CREDENTIALSID, USER_TYPEID FROM USERS Query: ReadAllQuery(referenceClass=Users sql=”SELECT USERID, FULLNAME, USERNAME, USER_CREDENTIALSID, USER_TYPEID FROM USERS”)

如何从Oracle数据库中获取自动递增的PK?

可能重复: PLSQL JDBC:如何获取最后一行ID? 我已经实现了一个自动递增PK的触发器和序列,我使用Oracle 10g作为数据库。 现在我想使用JAVA插入一些东西,但我需要在INSERT之后立即将增加的PK保存在变量中。 我试过这个: PreparedStatement pstmt = connection.prepareStatement(“INSERT INTO sometable VALUES(?, ?)”, Statement.RETURN_GENERATED_KEYS); pstmt.setInt(1, 5); pstmt.setString(2, “Username”); pstmt.executeUpdate(); ResultSet resultSet = pstmt.getGeneratedKeys(); 但它不起作用。

从JPA调用oracle函数

我试图从JPA类调用一个简单的函数,该类根据一些计算返回一个数字,并具有以下定义。 ‘CREATE OR REPLACE FUNCTION CFB.FC_AMOUNT_CHECK(accountNumber IN VARCHAR2) return NUMBER IS …..’ 我试图通过以下方式从JPA调用此函数。 StringBuilder sql = new StringBuilder(“call CFB.FC_AMOUNT_CHECK(:accountNumber)”); Query query = em.createNativeQuery(sql.toString()); query.setParameter(1, ‘1234’); List result = query.getResultList(); …. 但是,当我执行这个类时,我总是得到以下exception: java.lang.IllegalArgumentException: org.hibernate.QueryParameterException: could not locate named parameter [1] 我似乎无法得到JPA如何找不到参数1 ….过去4个小时我一直在打破这个问题。 任何人都可以建议如何得到我想要的结果?