gpt4 book ai didi

java - osql -S 没有给我预期的结果

转载 作者:太空宇宙 更新时间:2023-11-04 08:55:35 26 4
gpt4 key购买 nike

我正在尝试用 Java 编写一个程序,该程序使用 osql 在服务器上生成数据库列表。我的代码如下:

    public Object[] findDataBases(String server, String user, String passwd){
str = new String[] {"cmd.exe", "/c", "osql", " -S ",
server, " -U", user, "&&", "-P ", passwd,
"&&", "sp_databases","&&", "GO"
};
Runtime rt = Runtime.getRuntime();
try{

Process p = rt.exec(str);
InputStream is = p.getInputStream();
InputStream err = p.getErrorStream();
InputStreamReader in = new InputStreamReader(is);
InputStreamReader er = new InputStreamReader(err);

BufferedReader buff = new BufferedReader(in);
String line = buff.readLine();
ArrayList<String> listDatabases = new ArrayList<String>();
while (line != null){
listDatabases.add(line.trim());
/*for (int i = 0; i<4; i++){
buff.readLine();
}*/
line =buff.readLine();
}
System.out.println("error stream:");
buff = new BufferedReader(er);

while ((line=buff.readLine()) != null){
System.err.println(line);
}

databases = listDatabases.toArray();
return databases;
}

当我运行此命令时,由于某种原因,我收到一条消息,就像我运行了 osql -? 一样,但我显然没有这样做。

我不确定我做错了什么,所以任何帮助将不胜感激。非常感谢!

最佳答案

从参数中删除空格,去掉 && :str = new String[] {"cmd.exe", "/c", "osql", "-S", 服务器, "-U", 用户, "-P", passwd, "-Q", "sp_databases"};

关于java - osql -S 没有给我预期的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2364408/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com