JDBC для подключения скрипта MySQL нужна помощь с использованием ScriptRunner

У меня есть приложение Java, и мне нужно, чтобы оно подключалось к SQL-скрипту моей базы данных MySQL с использованием JDBC.

Вот мое Java-приложение:

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package basic;
import basic.ScriptRunner;
import javax.swing.*;
import java.sql.*;
import java.io.*;

/**
 *
 * @author User
 */
public class javaconnect {
    Connection conn = null;
    public static Connection ConnectDb(){
try{
Class.forName("com.mysql.jdbc.Driver");
Connection conn= (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/new","login","pass");
/*As we are creating a connection on a local computer we will write the url as jdbc:mysql://localhost:3306 */
ScriptRunner runner = new ScriptRunner(conn, false, false);
runner.runScript(new BufferedReader(new FileReader("D://Java Lenti/EkonomiSoftware/src/basic/new.sql")));

return conn ;
}
catch(Exception e){
    JOptionPane.showMessageDialog(null, e);
return null;}


}

}

Проблема в том, что приложение Java подключается через сервер MySQL, а не через сценарий SQL. Я думаю, что проблема в параметрах подключения, которые я дал. Может ли кто-нибудь подсказать мне, как изменить соединение, чтобы оно подключалось к сценарию SQL, а не к серверу?


person codeDevil    schedule 29.10.2013    source источник


Ответы (1)


Это сработало для меня:

package com.spring.sample.controller;

import java.io.BufferedReader;
import java.io.FileReader;
import java.sql.Connection;
import java.sql.DriverManager;

public class Main {

    public static void main(String[] args) {
        try {

            Class.forName("com.mysql.jdbc.Driver");

            Connection conn = (Connection) DriverManager
                    .getConnection(
                            "",
                            "", "");

            ScriptRunner runner = new ScriptRunner(conn, false, false);
            runner.runScript(new BufferedReader(new FileReader("new.sql")));

        } catch (Exception e) {
            e.printStackTrace();
        }

    }

}

новый.sql

insert into hello(name) values ('test');

Возможно, в вашем файле sql есть ошибки.

person Tien Nguyen    schedule 29.10.2013
comment
что я должен поставить в .getConnection()? - person codeDevil; 05.11.2013
comment
Это ваш хост, имя пользователя, пароль - person Tien Nguyen; 06.11.2013