Tag: oracle

找不到Oracle jdbc驱动

我是java和数据库连接的新手,我正在尝试与oracle数据库建立一个非常简单的连接。 当我运行此代码时: import java.sql.*; import oracle.jdbc.pool.OracleDataSource; public class Hello { public String sayHtmlHello() { try { // Load the JDBC driver String driverName = “oracle.jdbc.driver.OracleDriver”; Class.forName(driverName); // Create a connection to the database String serverName = “sever2”; String portNumber = “1521”; String sid = “serv1”; String url = “jdbc:oracle:thin:@” + serverName + “:” + portNumber […]

Oracle hibernate ORA-01461 CLOB

//大家好。 我的问题是我不能在clob字段中写大日期。 curentli我可以写不超过4000长度的字符串。 你能解释我为什么我不能写clob到clob领域。 我正在使用: Oracle Database 11g企业版11.2.0.1.0版 列表项hibernate 4.2.6.Final 列表项ojdbc 11.1.0.7.0 我的目的是: @Entity @Table(….) public class UiViewSettings implements java.io.Serializable { private Integer id; private String viewName; private String userName; private Clob data; …. @Column(name = “VIEW_DATA”, nullable = false) public Clob getData() { return this.data; } …. } 我更新entety的代码: UiViewSettings viewSettings = new UiViewSettings(); […]

Oracle中的NLS_CHARACTERSET WE8ISO8859P1和UTF8问题

我目前在oracle中使用了一个具有NLS_CHARACTERSET WE8ISO8859P1的数据库,所以假设我在varchar2字段中存储一个值为maž(重音字符),因此在数据库中它存储为maå¾。 现在,当我尝试使用查询select * from table from fieldValue =’maž’来检索它时,它返回0行,然后当我尝试再次插入它时,它给出了一个约束错误,表示值已经存在。 如何克服这种情况。 我通过Java代码这样做

使用Ant预编译JSP的最佳方法是什么?

我试图找出使用Ant预编译将部署到Oracle应用程序服务器的JSP的最佳方法。 即使我正在部署到Oracle应用服务器,我也希望避免使用Oracle的Ant版本。

我该如何防止此exception? java.sql.SQLException:无法转换为内部表示:

我的代码在以下行中引发了上述exception(第2行): final ArrayDescriptor tParamArrayDescriptor = ArrayDescriptor.createDescriptor(“MY_SYSTEM.T_PARAM_ARRAY”, databaseHandler.getConnection()); final ARRAY oracleArray = new ARRAY(tParamArrayDescriptor, databaseHandler.getConnection(), myObjects.toArray()); 它给了我以下例外: java.sql.SQLException: Fail to convert to internal representation: myObjects是以下POJO的ArrayList: public class MyObject { private String name; private String surname; private int age; … // Accessors etc.. } 数据库上的T_PARAM_ARRAY如下所示: create or replace TYPE T_PARAM_ARRAY AS OBJECT (NAME VARCHAR2(50), SURNAME VARCHAR2(50), AGE […]

找不到合适的驱动程序“jdbc:oracle:thin:@ ****”oracle / jdbc / driver / OracleDriver“;

这是我的java代码 public static Map propertyFileReader() { Map map=new HashMap(); Properties prop = new Properties(); try { InputStream inputStream = Util.class.getClassLoader().getResourceAsStream(“jdbc.properties”); prop.load(inputStream); final String DB_DRIVER= prop.getProperty(“DB_DRIVER”); final String DB_CONNECTION = prop.getProperty(“DB_CONNECTION2”); final String DB_USER = prop.getProperty(“DB_USER”); final String DB_PASSWORD = prop.getProperty(“DB_PASSWORD”); map.put(“DB_DRIVER”,DB_DRIVER); map.put(“DB_CONNECTION”,DB_CONNECTION); map.put(“DB_USER”,DB_USER); map.put(“DB_PASSWORD”,DB_PASSWORD); } catch (IOException e) { e.printStackTrace(); } return map; } private […]

hibernate oracle标识符太长ORA-00972

我坚持这个问题。 数据库架构由其他人提供,因此我无法简单地更改名称。 我尝试在任何地方添加适当的注释,也许我错过了一些东西(显而易见)? 这是我的完整映射(很多classess),我将省略getter / setter。 问题是当hibernate试图获取所有List controlRuleAttribs 控制规则 @Entity @Table(name = “CONTROL_RULE”) public class ControlRule implements Serializable { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = “CONTROL_RULE_ID”) private Long id; @ManyToOne(fetch = FetchType.LAZY) @Cascade(CascadeType.ALL) @JoinColumn(name = “CONTROL_RULE_TYPE_ID”) @ForeignKey(name = “CONTROL_RULE_TYPE_ID”) private ControlRuleType controlRuleType; @Column(name = “JOB_NM”) private String jobname; @Column(name = “LIBRARY_NM”) private String libraryname; @Column(name […]

.nextval JDBC插入问题

我尝试以序列.nextval作为主键插入到表中,Java中的sql是 sql = “INSERT INTO USER (USER_PK, ACCOUNTNUMBER, FIRSTNAME, LASTNAME, EMAIL ) VALUES (?,?,?,?,?)”; ps = conn.prepareStatement(sql); ps.setString(1, “User.nextval”); ps.setString(2, accountNumber); ps.setString(3, firstName); ps.setString(4, lastName); ps.setString(5, email); 但是,错误是ORA-01722: invalid number 所有其他领域都是正确的,我认为这是顺序问题,这是正确的吗?

为什么While(rs.next())语句在第一次迭代后结束?

我使用SELECT语句从表中获取数据,然后将其插入另一个表。 但是行“stmt.executeQuery(query);” 从表中插入第一行然后退出。 当我注释掉这一行时,while循环遍历打印出来的所有行。 堆栈跟踪未显示任何错误。 为什么会这样? try{ String query = “SELECT * FROM “+schema_name+”.”+table; rs = stmt.executeQuery(query); while (rs.next()) { String bundle = rs.getString(“BUNDLE”); String project_cd = rs.getString(“PROJECT_CD”); String dropper = rs.getString(“DROPPER”); String week = rs.getString(“WEEK”); String drop_dt = rs.getString(“DROP_DT”).replace(” 00:00:00.0″,””); query = “INSERT INTO INDUCTION_INFO (BUNDLE, PROJECT_CD, DROPPER, WEEK, DROP_DT) ” + “VALUES (” […]

为什么无效转换请求错误代码:17132?

我正在尝试使用JDBC预处理语句插入时获取最后插入的行ID。 我有一个自动增量主键列作为表中的标识列。 我的代码如下: public static String insertMeetingToDB(String organizer,String subject,String location,String start_date_time,String end_date_time,String description) throws Exception { Connection dbConnection = null; PreparedStatement preparedStatement = null; Integer last_inserted_id=0; String insertTableSQL = “INSERT INTO MEETINGS” + “(ORGANIZER_EMAIL, SUBJECT, MEETING_LOCATION, START_DATE_TIME, END_DATE_TIME, MEETING_DESCRIPTION) VALUES” + “(?,?,?,?,?,?)”; SimpleDateFormat from = new SimpleDateFormat(“yyyyMMdd’T’HHmmss”); from.setTimeZone(TimeZone.getTimeZone(“IST”)); //–CONVERTING DATE/TIME TO INDIAN STANDARD TIME SimpleDateFormat […]