gpt4 book ai didi

java - JDBC 连接到 Azure 中的 Java 数据库

转载 作者:行者123 更新时间:2023-12-02 10:32:33 25 4
gpt4 key购买 nike

我在 Azure 中有一个数据库,想要使用 java 连接到它。我尝试运行示例代码:包 com.function;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.ResultSet;

public class Function {

public static void main(String[] args) {

// Connect to database - all strings were taken
String hostName = "HOSTNAME";
String dbName = "DBNAME";
String user = "MY_USER";
String password = "MY_PASSWORD";
String url = String.format("jdbc:sqlserver://%s:1433;database=%s;user=%s;password=%s;encrypt=true;"
+ "hostNameInCertificate=*.database.windows.net;loginTimeout=30;", hostName, dbName, user, password);
Connection connection = null;
try {
connection = DriverManager.getConnection(url);
String selectSql = "SELECT * FROM BUSINESSES FOR JSON PATH";

try (Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery(selectSql)) {
while (resultSet.next())
{
System.out.println(resultSet.getString(1) + " "
+ resultSet.getString(2));
}
connection.close();
}
}
catch (Exception e) {
e.printStackTrace();
}
}
}

但是,每次我尝试运行它时都会收到错误 enter image description here

我不知道如何解决它,如果有人知道问题是什么,那将会有很大帮助。

注意 - 在 pom.xml 中有对这些的引用:

 <maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>7.0.0.jre8</version>

最佳答案

您似乎在控制台中启动应用程序(屏幕截图看起来像这样),所以我假设您做了类似的事情

java Function

来自类文件所在的目录。

以这种方式启动时,您必须提供 jdbc-driver 的 jar 作为类路径:

java -cp .;some/dir/where/the/jar/resides/mssql.jar Function

pom.xml 中的引用只会在使用 maven 时下载 jar,但不会自动将其添加到 JVM 的“全局”类路径中。

如果 100% 确定 JDBC 驱动程序是类路径的一部分,您可以尝试自己将驱动程序注册到 DriverManager (驱动程序应该自己执行此操作,但某些他们没有):

DriverManager.registerDriver("com.microsoft.sqlserver.jdbc.SQLServerDriver");

关于java - JDBC 连接到 Azure 中的 Java 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53529562/

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