java - 如何用java从Sybase DB服务器获取所有数据库名称的列表

标签 java sybase-ase15

我想从 Sybase DB 服务器获取所有数据库名称的列表。我可以通过Java连接Sybase数据库,但不知道如何获取数据库名称列表。我正在使用 jconn4 jar 文件。

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import com.sybase.jdbc4.jdbc.SybDriver;

public class ConnectToSybase {
    public static Connection conn = null;
    public static Statement stmt = null;
    public static SybDriver sybDriver = null;
    public static ResultSet rs = null;
    public static String dbServerIP = "10.10.10.11";
    public static String portNo = "5000";
    public static String dbName = "NewDB";

    public static void main(String[] args) {
        try {
            Class.forName("com.sybase.jdbc4.jdbc.SybDriver").newInstance();
            System.out.println("Driver loaded");

            conn = DriverManager.getConnection("jdbc:sybase:Tds:" + dbServerIP + ":" + portNo, "usrname", "password");
            stmt = conn.createStatement();

        } catch (Exception e) {
            System.out.println("In exception");
            e.printStackTrace();
        } finally {
            try {
                rs.close();
                stmt.close();
                conn.close();
            } catch (Exception e) {

            }
        }
    }
}

最佳答案

我找到了一个可以工作的代码。

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import com.sybase.jdbc4.jdbc.SybDriver;

public class ConnectToSybase {
    public static Connection conn = null;
    public static Statement stmt = null;
    public static SybDriver sybDriver = null;
    public static ResultSet rs = null;
    public static String dbServerIP = "10.10.10.11";
    public static String portNo = "5000";
    public static String dbName = "NewDB";

    public static void main(String[] args) {
        try {
            Class.forName("com.sybase.jdbc4.jdbc.SybDriver").newInstance();
            System.out.println("Driver loaded");

            conn = DriverManager.getConnection("jdbc:sybase:Tds:" + dbServerIP + ":" + portNo, "usrname", "password");
            stmt = conn.createStatement();

            List<String> dbList = new ArrayList<String>();
            // getting list of DB names from the DB server
            ResultSet rs = conn.getMetaData().getCatalogs();
            while (rs.next()) {
                dbList.add(rs.getString(1));
            }

            for (String list : dbList) {
                System.out.println(list);
            }

        } catch (Exception e) {
            System.out.println("In exception");
            e.printStackTrace();
        } finally {
            try {
                rs.close();
                stmt.close();
                conn.close();
            } catch (Exception e) {

            }
        }
    }
}

关于java - 如何用java从Sybase DB服务器获取所有数据库名称的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56933547/

相关文章:

sybase - 如何清除sybase 15.7中的事务日志?

SQL 合并。退出时更新,不退出时插入,在存储过程中使用变量

java - 如何通过sqoop从sybase导入数据?

java - 如何从 NetBeans 中的 'Resources' 文件夹中正确获取图像

java - 在antlr3中将语法错误抛出到java

java - JDK 的 try-with-resources 示例中的错误做法?

java - 将 java.math.BigDecimal 转换为 scala.math.BigDecimal?

java - 为什么字符串连接需要这么长时间?