gpt4 book ai didi

在 Netbeans 中连接 azure 数据库的 Java 程序出现错误

转载 作者:行者123 更新时间:2023-12-02 08:57:36 24 4
gpt4 key购买 nike

我收到以下错误:

我尝试了各种方法,但出现错误,请参阅以下错误。

run: java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:338) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:264) at com.sqldbsamples.App.main(App.java:23)

BUILD SUCCESSFUL (total time: 0 seconds)

这是我的代码:请帮助我如何使用 java 程序将我的数据库连接到 azure!!!

public class App {

public static void main(String[] args) {

// Connect to database
String hostName = "testchinnaa.database.windows.net:1433"; // update me
String dbName = "Test_Gopi"; // update me
String user = "chinna"; // update me
String password = "******"; // update me

String url = String.format("jdbc:sqlserver://testchinnaa.database.windows.net:1433;database=Test_Gopi;user=chinna@testchinna;password=*****;encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.database.windows.net;loginTimeout=30;"
+ "hostNameInCertificate=*.database.windows.net;loginTimeout=30;", hostName, dbName, user, password);
Connection connection = null;
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
connection = DriverManager.getConnection(url);
String schema = connection.getSchema();
System.out.println("Successful connection - Schema: " + schema);

System.out.println("Query data example:");
System.out.println("=========================================");

// Create and execute a SELECT SQL statement.
String selectSql = "SELECT TOP 20 pc.Name as CategoryName, p.name as ProductName "
+ "FROM [SalesLT].[ProductCategory] pc "
+ "JOIN [SalesLT].[Product] p ON pc.productcategoryid = p.productcategoryid";

try (Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery(selectSql)) {

// Print results from select statement
System.out.println("Top 20 categories:");
while (resultSet.next())
{
System.out.println(resultSet.getString(1) + " "
+ resultSet.getString(2));
}
connection.close();
}
}
catch (Exception e) {
e.printStackTrace();
}
}
}

最佳答案

抱歉,您必须弄清楚您使用的是MySql还是MSSql。你说你用的是mysql。但是,在您的连接字符串中,它是一个sqlserver,这意味着它是一个MSSql。

这里是使用java访问数据库的教程:

  1. 您需要下载适用于您的数据库的连接器:

  2. 手动将连接器 jar 文件添加到类路径中。或者您可以使用 Maven 依赖项管理器在项目中安装和配置 Connector/J 库。

    <!-- Example for mysql -->
    <dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.18</version>
    </dependency>
  3. 代码示例

    • 对于 MSSql:

      try {
      Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
      connection = DriverManager.getConnection("conntection_string");
      String SQL = "SELECT name FROM sysdatabases;";

      try (Statement statement = connection.createStatement();
      ResultSet resultSet = statement.executeQuery(SQL)) {

      // Print results from select statement
      while (resultSet.next()) {
      System.out.println(resultSet.getString(1));
      }
      connection.close();
      }
      } catch (Exception e) {
      e.printStackTrace();
      }
    • 对于 MySql:

      Connection conn = null;
      ResultSet rs = null;
      try {
      Class.forName("com.mysql.cj.jdbc.Driver");
      String connectionUrl = "jdbc:mysql://{server_name}.mysql.database.azure.com:3306?useSSL=true&requireSSL=false&serverTimezone=UTC";;
      conn = DriverManager.getConnection(connectionUrl, "username_from_portal, like: jack@mysqldemo258", "password");
      rs = conn.prepareStatement("show databases").executeQuery();

      while(rs.next()){
      System.out.println(rs.getString(1));
      }
      } catch (ClassNotFoundException e) {
      e.printStackTrace();
      } catch (SQLException e) {
      e.printStackTrace();
      } finally {
      try{
      if(rs != null) rs.close();
      if(conn != null) conn.close();
      } catch (SQLException e) {
      e.printStackTrace();
      }
      }

关于在 Netbeans 中连接 azure 数据库的 Java 程序出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60395665/

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