您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> Java >> sql连接的NullPointerException错误问题求助。

sql连接的NullPointerException错误问题求助。

来源:网络整理     时间:2016/6/21 18:35:54     关键词:

关于网友提出的“ sql连接的NullPointerException错误问题求助。”问题疑问,本网通过在网上对“ sql连接的NullPointerException错误问题求助。”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: sql连接的NullPointerException错误问题求助。
描述:

以下是我的程序的片断:
try{
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
Connection oraconn = DriverManager.getConnection("jdbc:oracle:thin:@172.16.80.100:1521:ORLC","dbuser", "pass");
Statement orastmt = oraconn.createStatement();
            DriverManager.registerDriver( new com.microsoft.jdbc.sqlserver.SQLServerDriver());
            Connection msconn =DriverManager.getConnection("jdbc:microsoft:sqlserver://192.168.10.13:1433","dbuser","pass");
            Statement msstmt = msconn.createStatement();
            ResultSet msrs = msstmt.executeQuery("select * from xmjbxx");
            ResultSetMetaData rsmd = msrs.getMetaData();
            Integer colcount= rsmd.getColumnCount();
            while (msrs.next())
            {
             StringBuffer insertsql=new StringBuffer("insert into xmjbxx value(");
             for ( int i=1;i<>
             {
            
             insertsql.append(msrs.getObject(i).toString()+",");
            
             }
             insertsql.append(msrs.getObject(colcount).toString()+")");
             System.out.println(insertsql.toString());
             orastmt.execute(insertsql);
            }
            
}catch(SQLException e){
e.printStackTrace();
}catch(NullPointerException e){
    e.printStackTrace();
    
}
目的是把一个MS SQL数据库中的一个表数据全部迁移到Oracle数据库的相同表中,但在执行中出现
java.lang.NullPointerException
at oracle.ximter.com.oratest.main(oratest.java:36)
而36行就是insertsql.append(msrs.getObject(i).toString()+",");这一行这是哪儿出错了?
我在Eclipse中调试下看到第一次insertsql中是有取到数据的,Eclipse我不太熟。
项目急,很郁闷!!!


解决方案1:

for ( int i=1;i<>
{
insertsql.append(msrs.getObject(i).toString()+",");
}
for循环中的i应该是<=colcount-1 或者<>
否则只循环colcount-2次啊。

解决方案2:

Integer colcount= rsmd.getColumnCount();
            while (msrs.next())
            {
             StringBuffer insertsql=new StringBuffer("insert into xmjbxx value(");
             for ( int i=0;i<>
             {
            
             insertsql.append(msrs.getObject(i).toString()+",");
            
             }
             insertsql.append(msrs.getObject(colcount-1).toString()+")");


以上介绍了“ sql连接的NullPointerException错误问题求助。”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/1913190.html

相关图片

相关文章