小弟有个项目:
  需要在程序里帮客户导入数据库,也就是在程序里执行sql脚本.(创建数据库,创建  表,插入数据)
而不用在DOS下 mysql> mysql -h localhost -u root -p admin < C:\1.sql最好是java语言的.
:)
万分感谢!

解决方案 »

  1.   

    这个功能需要掌握两方面的java知识
    1.读取文件
    2.jdbc执行sql
      

  2.   

    如果你喜欢执行DOS命令也可以,下面的方法你替换一下,我这里用DIR举例
    import java.io.IOException;
    import java.io.InputStream;
    public class test {
     public test() {
      try {
       Process p=Runtime.getRuntime().exec("cmd /c dir d:\\dictionary.txt /t:a");
       InputStream in=p.getInputStream();
       StringBuffer out = new StringBuffer();
       byte[] b = new byte[1024];
       int n=0;
       
       while ((n=in.read(b))!=-1){
        out.append(new String(b, 0, n));
       }
       System.out.println(out.toString());
      } catch (IOException e) {
       e.printStackTrace();
      }
     }
     public static void main(String[] args) {
      new test();
     }
    }
      

  3.   

    如果你不喜欢执行DOS命令可以读取文件,本身MYSQL的备份文件就是标准格式的SQL语句,不过穿插了很多其他的字符,你自己找规律解析一下就可以了
      

  4.   

    恩,谢谢,
    就是说把sql文件读成一个String,
    然后像执行insert,update这些语句一样吗
      

  5.   

    Process p=Runtime.getRuntime().exec("cmd /c dir d:\\dictionary.txt /t:a");
    参数不是很懂
      

  6.   

    把文件里的sql语句读出来
    拼成一个String
    然后调statement类的execute() 方法
      

  7.   

    看你的上面不是写了吗?在DOS下怎么执行回复,这个也一样,你把cmd 后面换成你的命令就可以了