简体   繁体   English

创建一个获取SQLite数据并将其插入Oracle DB的Java程序

[英]Creating a java program which getting SQLite data and Insert in Oracle DB

I've just started my adventure with programming in SQL using JAVA. 我刚刚开始使用Java进行SQL编程的冒险。 I have Linux and Oracle Database on VirtualBox Machine. 我在VirtualBox Machine上安装了Linux和Oracle数据库。

My project is about situation, when a client give me a SQLite3 Database and I have to convert it to Oracle Database. 我的项目是关于情况的,当客户给我一个SQLite3数据库,而我必须将其转换为Oracle数据库时。

I've read some code but it gives error Code: 我已经阅读了一些代码,但是它给出了错误代码:

CREATE OR REPLACE AND RESOLVE JAVA SOURCE NAMED "Move" AS 创建或替换并解决名称为“ Move”的JAVA源

import java.sql.*;
import java.io.*;
public class getting {

        public static void doIt() throws Exception{
            Connection conn;
            ResultSet rs;
            Statement stat;
            try{
                Class.forName("org.sqlite.JDBC");
                conn =
DriverManager.getConnection("jdbc:sqlite://127.0.0.1/media/sf_SHARE/baza.db");
            } catch (SQLException e){
                    throw new RuntimeException(e);
            }
            try{
                 stat = conn.createStatement();

            try{
                rs = stat.executeQuery("SELECT * from entities");
                    while(rs.next()){
                        String w1= rs.getString("ID");
                        String w2 = rs.getString("TEXT");
                        System.out.println(w1+w2);
                    }
            }finally{}
        }finally{}
            {try {rs.close();
            }catch (Exception ignore){}
            try {conn.close();
            }catch (Exception ignore){}
            try {stat.close();
            }catch (Exception ignore){}
}
}
}
/



create or replace function Move return varchar2 as
language java name 'getting.doIt() return java.language.String';
/





select Move from dual;

I've got a error: 我有一个错误:

java.lang.ClassNotFoundException: org/sqlite/JDBC java.lang.ClassNotFoundException:org / sqlite / JDBC

Is connection in DriverManager.getConnection() is good? DriverManager.getConnection()连接是否良好? Any ideas what I did wrong? 有任何想法我做错了吗?

Cheers najdzion 欢呼声

You have to download JDBC driver from here: https://bitbucket.org/xerial/sqlite-jdbc/downloads and import downloaded JAR to your project. 您必须从以下位置下载JDBC驱动程序: https : //bitbucket.org/xerial/sqlite-jdbc/downloads并将下载的JAR导入到您的项目中。 Also, as good practice, don't store connections as hard-coded strings. 同样,作为一种好习惯,请不要将连接存储为硬编码的字符串。 If you are using maven, check your dependencies: 如果使用的是maven,请检查依赖项:

<dependency>
    <groupId>org.xerial</groupId>
    <artifactId>sqlite-jdbc</artifactId>
    <version>3.8.11.2</version>
</dependency>

Add your jar co Classpath: 添加您的jar co类路径:

> javac Example.java
> java -classpath ".;sqlite-jdbc-(VERSION).jar" Example   # in Windows
or 
> java -classpath ".:sqlite-jdbc-(VERSION).jar" Example   # in Mac or Linux  

or you can do it via your IDE. 或者您可以通过IDE来完成。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM