您的位置:首页 > 数据库

如何在JAVA代码中执行 exec master..xp_cmdshell @cmd // 当作SQL语句调用就成了 或者调用 Runtime.getRuntime().exec

2010-06-16 21:42 1246 查看
例如:

//package FS;
import java.io.IOException;
import java.sql.*;
public class BCP
{
static Connection con;
static PreparedStatement sql;
static ResultSet res;
public Connection getConnection()
{
try
{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
con = DriverManager.getConnection(
"jdbc:microsoft:sqlserver://localhost:1433;"
+ "DatabaseName=uep", "sa", "data");
} catch (Exception e) {
e.printStackTrace();
}
return con;
}
public static void main(String[] args)
{
BCP c = new BCP();
con = c.getConnection();

/**第一种方法直接当作SQL语句调用*/
try
{
String sql = "EXEC master..xp_cmdshell " + "/' "+"BCP" + " /"" + " SELECT TOP 4 * FROM uep.dbo.A_experiment"+"/"" + " queryout e://currency2.txt -F 1 -L 3 -c -U " + "/"sa/"" + " -P " + "/"" + "data" + "/"" + "/'";
con.createStatement().execute(sql);
}
catch (SQLException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
/**第二种方法,调用Runtime.getRuntime().exec***/
// try
// {
// Runtime.getRuntime().exec("bcp uep.dbo.A_experiment out e://currency1.txt -F 1 -L 3 -c -U " + "/"sa/"" + " -P "+ "/"data/"");
// }
// catch (IOException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }

System.out.println("ok");
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: