一旦我有了SQLServer的名称,如何用java列出它的数据库?
我试图通过Java使用一旦我有了SQLServer的名称,如何用java列出它的数据库?,java,sql,database,Java,Sql,Database,我试图通过Java使用osql-L命令填充网络上SQLServer的下拉列表。然后,用户将选择服务器并键入用户名和密码。我还需要用该服务器上的数据库填充另一个列表。关于如何使用java实现这一点,有什么想法吗?如果可能,请给出java代码 多谢各位 public class SQL implements ActionListener{ public static void main(String[] args) throws Exception{ String[] str = new
osql-L
命令填充网络上SQLServer的下拉列表。然后,用户将选择服务器并键入用户名和密码。我还需要用该服务器上的数据库填充另一个列表。关于如何使用java实现这一点,有什么想法吗?如果可能,请给出java代码
多谢各位
public class SQL implements ActionListener{
public static void main(String[] args) throws Exception{
String[] str = new String[] {"cmd.exe", "/c", "osql", "-L" };
Runtime rt = Runtime.getRuntime();
try{
Process p = rt.exec(str);
InputStream is =p.getInputStream();
InputStream err = p.getErrorStream();
InputStreamReader in = new InputStreamReader(is);
StringBuffer sb = new StringBuffer();
BufferedReader buff = new BufferedReader(in);
//clearing away white space and "Servers"
buff.readLine();
buff.readLine();
String line = buff.readLine();
JComboBox servers = new JComboBox();
while (line != null){
servers.addItem(line.trim());
line =buff.readLine();
}
SQL sql = new SQL();
servers.addActionListener(sql);
JOptionPane.showMessageDialog(null, servers);
}catch( Exception ex )
{
ex.printStackTrace();
}
}
@Override
public void actionPerformed(ActionEvent e) {
JComboBox cb = (JComboBox)e.getSource();
String ser = (String)cb.getSelectedItem();
}
}
这个网站帮助很大
public static void main(String[] args) {
String[] str = new String[] {"cmd.exe", "/c", "sqlcmd -U abc -P abc -q sp_databases"};
Runtime rt = Runtime.getRuntime();
try{
String ss = null;
Process p = rt.exec(str);
BufferedReader stdInput = new BufferedReader(new InputStreamReader(p.getInputStream()));
BufferedReader stdError = new BufferedReader(new InputStreamReader(p.getErrorStream()));
//obj.exec(ss);
System.out.println("Here is the standard output of the command:\n");
while ((ss = stdInput.readLine()) != null) {
System.out.println(ss);
}
System.out.println("Here is the standard error of the command (if any):\n");
while ((ss = stdError.readLine()) != null) {
System.out.println(ss);
}
}catch( Exception ex )
{
ex.printStackTrace();
}
}