我的程序出错:java.sql.SQLException: ORA-01461: 仅可以为插入 LONG 列的 LONG 值赋值

解决方案 »

  1.   

    我程序的错误是:java.sql.SQLException: ORA-01461: 仅可以为插入 LONG 列的 LONG 值赋值
      

  2.   

    executeBatch();可以插入多条记录。你遇到的问题我也遇到了,好像是在插入大对象时遇到的。
      

  3.   

    package helloworld;import java.sql.*;
    import javax.sql.*;
    import java.io.*;public class Test
    {
      public static void main(String[] args)
      {
           Connection con = null;
         
           try {
               Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
               con = DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;databasename=Northwind","sa","");
               Statement stmt = con.createStatement();
               con.setAutoCommit(false); //设置事务
               
               stmt.executeUpdate("insert int aa values('adfad')") ;
               stmt.executeUpdate("insert int aa values('adfad')") ;
               stmt.executeUpdate("insert int aa values('adfad')") ;
               
               con.commit();  //提交       } catch(Exception e) {
               try {
                  con.rollback();  
               } catch(Exception ex) {
                   ex.printStackTrace() ; 
               }           
               e.printStackTrace();
           }  }
    }
      

  4.   

    java.sql.SQLException: ORA-01461: 仅可以为插入 LONG 列的 LONG 值赋值
    上面这个错误可能是jdbc和中文字符集的oracle冲突造成的,如果安装oracle时选择英文类的字符集,比如us7ascii,那么插入内容到long类型的字段时,就不会出现这个问题
      

  5.   

    把你的SQL语句一条一条的在SQLPLUS(或其它)下执行一遍,看看究竟错在那里?