sql >> データベース >  >> RDS >> Mysql

JavaでLOADDATALOCALINFILEを使用する

    これが私がテストした作業コードです:

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    public class LoadTRPLog2MySql {
    
        public static void main(String[] args) {
    
            Class driver_class = null;
            try {
                driver_class = Class.forName("com.mysql.jdbc.Driver");
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
                return;
            }
            System.out.println("found driver" + driver_class);
    
    
            Connection connection = null;
            try {
                connection = DriverManager.getConnection("jdbc:mysql://mysqlserver.com:3306/dbname", "myid","pwd");
            } catch (SQLException e) {
                e.printStackTrace();
            }
    
            try {
                System.out.println("Established connection to " + connection.getMetaData().getURL());
            } catch (SQLException e1) {
                e1.printStackTrace();
            }
    
            Statement statement = null;
            try {
                statement = connection.createStatement();
                Statement statement1 = connection.createStatement();
                //windows
                //statement1.executeUpdate( "LOAD DATA LOCAL INFILE 'C:\\Users\\senthil_sivasamy\\Documents\\Projects\\messageprocessing\\log.txt' INTO TABLE  trpwatchlog_tb FIELDS TERMINATED BY ' ' LINES TERMINATED BY '\\n'");
                //linux  ( " LOAD DATA LOCAL INFILE '/home/username/logname.log' INTO TABLE  logname.log FIELDS TERMINATED BY ' ' LINES TERMINATED BY '\\n'");
                statement.executeUpdate( "LOAD DATA LOCAL INFILE '/home/username/avail30trplog' INTO TABLE  logname.log FIELDS TERMINATED BY ' ' LINES TERMINATED BY '\\n'");
    
                statement1.execute("select * from dbname.tablelog_tb");
                ResultSet rs = statement1.getResultSet();
                System.out.println("Row hostname and timestamp");
                while(rs.next()) {
                    System.out.println("Row hostname and timestamp");
                    System.out.println(rs.getRow());
                    System.out.println(""+rs.getString("hostname"));
                    System.out.println(""+rs.getString("timestamp"));
                }
                rs.close();
            } catch(SQLException e) {
            } finally {
                if (statement != null) {
                    try {
                        statement.close();
                    } catch (SQLException e) {
                        e.printStackTrace();
                    }
                }
            }
            if (connection != null) {
                try {
                    connection.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    }
    


    1. 外部サーバーに参加/プッシュダウンする前にサブクエリの評価を強制する方法

    2. MySQL結果セットの行を制限する方法

    3. MySQLで現在の日付を取得する方法

    4. Oracle監査の存続