您可以使用JDBC来仅连接实例而不指定数据库吗?

fla

我正在开发一个JAVA应用程序,该应用程序评估实例上所有数据库的数据和日志大小,并邮寄每月报告。我目前正在使用SQLServer2014。我正在使用一个SQL查询,该查询通过查询sys.master_files计算所有数据库的大小。

问题在于,当使用JDBC进行查询时,它返回错误:

java.sql.SQLException: No suitable driver found for jdbc:microsoft:sqlserver://localhost"

我已经尝试连接到特定的数据库,并且工作正常。有什么方法可以使用JDBC直接对sys.master_files进行此查询?还是总有一种更聪明的方法来达到相同的结果?

谢谢

汤普森(Gord Thompson)

您的“找不到合适的驱动程序”错误仅是由于连接URL格式错误。jdbc:microsoft:sqlserver无效。

至于在不指定特定数据库的情况下连接实例,这对我来说效果很好:

// NB: no databaseName specified in the following
String connectionUrl = "jdbc:sqlserver://localhost;instanceName=SQLEXPRESS;integratedSecurity=true";  

try (Connection conn = DriverManager.getConnection(connectionUrl)) {
    String sql = "SELECT name FROM sys.master_files WHERE type_desc='ROWS' ORDER BY database_id";
    try (
            Statement st = conn.createStatement();
            ResultSet rs = st.executeQuery(sql)) {
        while (rs.next()) {
            System.out.println(rs.getString(1));
        }
    }
} catch (Exception e) {
    e.printStackTrace(System.err);
}

请注意,这sys.master_files是一个在所有数据库中都可用的系统视图,因此AFAIK调用当前数据库(目录)的大小并不重要。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我们可以使用JDBC在Android中连接远程MySQL数据库吗?

您可以使用Laravel 5在数据库中创建条目而不填充Eloquent模型吗

我可以使用实体框架来跟踪 DataSet 之类的更改吗(无需连接到数据库)?

我可以使用一个用户来连接MongoDB中的不同数据库吗?

是否可以在不指定数据库的情况下连接到SQL Server?

我可以通过在运行时指定数据库来使用JPA吗?

可以使用pg-promise和PostgreSQL(9.5)来“创建数据库...”吗?

我可以使用相同的数据库目录设置两个Fuseki实例吗?

您可以使用具有相同 Firestore 数据库的两个 iOS 应用程序吗?

您可以使用文本相似性搜索相关的数据库表/字段吗?

我们可以仅在Java中使用odbc来连接数据库吗?

使用spring-cloud-aws,在连接到RDS实例时,应在哪里指定数据库?

您可以使用DDNS服务来建立静态的“来自地址的连接”吗?

您可以通过 jdbc 从 spark 数据库中获取模式吗?

可以使用 Python 作为数据库语言吗?

可以使用pgAdmin管理OpenShift数据库吗?

django可以使用外部数据库吗?

您可以使用数据框来辅助R中的“查找和替换”吗?

可以使用 Firebase 权限仅公开 Firebase 数据库中对象的某些字段以进行读取访问吗?

django中有什么方法可以使用数据库而不创建models.py文件吗?

我可以在JDBC连接器中使用数据库IP地址代替主机名吗?

可以为多查询方法将JDBC连接保持打开状态吗?(使用MySQL作为数据库)

使用 jdbc URL 的 Hibernate 连接到特定数据库的 Azure SQL(不是主数据库)

您可以使用新的范围库进行压缩吗?

我可以使Python数据库选择查询仅返回值吗

仅允许特定数据库的外部PostgreSQL连接

Laravel-动态指定数据库连接

使用Neo4j-Spark连接器时指定数据库名称

我可以使用Spring Boot在没有任何数据库的情况下使用Spring Data JDBC模拟CrudRepository吗?