论坛首页 入门技术论坛

关于java程序执行sql脚本

浏览 4161 次
该帖已经被评为新手帖
作者 正文
   发表时间:2007-05-30  
我通过SQL server2000生成了其中一个数据库中所有的用户表的sql脚本,mysql.sql文件。
     我想在java程序中执行该脚本,这样以便于在其他人的数据库中创建这些表。我不想在查询分析器中直接拷贝这些sql脚本去执行。
     我在网上搜了几天找到了一些方法,可还是没有解决这个问题。
比如:用master.dbo.xp_cmdshell   '  osql   -U sa   -P 19840205  -d Blog   -i d:\mysql\mysql.sql   '
在查询分析器中虽然能够正确执行,可在我指定的数据库Blog中并没有看到sql脚本中的那些表啊,
    并且我在程序中尝试如下去执行:
public class execute_sql
{
public static void main(String[] args)
{
String str1="exec master.dbo.xp_cmdshell ' osql   -U sa   -P 19840205  -d Blog   -i  ";
String str2="d:\\mysql\\mysql.sql";
String str3="'";
String sql=str1+str2+str3;
try
{
Process ps=Runtime.getRuntime().exec(sql);
}
catch(IOException e)
{
e.printStackTrace();
}
}
}
却出现如下异常:
java.io.IOException: CreateProcess: exec master.dbo.xp_cmdshell ' osql -U sa -P 19840205 -d Blog -i d:\mysql\mysql.sql' error=2
不清楚是何原因?
    在此请大家一起讨论一下给出一些解决方法来!
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics