简体   繁体   English

在 Netbeans 中连接 azure 数据库的 Java 程序我收到错误

[英]Java program to connect azure database in Netbeans I'm getting error

I'm getting the following error:我收到以下错误:

I tried various ways I'm getting an error please see the following error.我尝试了各种方法,但出现错误,请参阅以下错误。

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)运行: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) 在 com.sqldbsamples.App.main(App.java:23)

BUILD SUCCESSFUL (total time: 0 seconds)构建成功(总时间:0 秒)

This is my code: please help me with how to connect my database to azure using java program !!!这是我的代码:请帮助我如何使用 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();
        }
    }
}

Sorry, you have to figure out if you are using MySql or MSSql .抱歉,您必须弄清楚您使用的是MySql还是MSSql You said that you used mysql.你说你用的是mysql。 However, in your connection string, it is a sqlserver which means it is a MSSql.但是,在您的连接字符串中,它是一个sqlserver ,这意味着它是一个 MSSql。

Here is the tutorial for accessing database using java:下面是使用java访问数据库的教程:

  1. You need to download connector for your database:您需要为您的数据库下载连接器:

  2. Manually add connector jar file to your classpath.手动将连接器 jar 文件添加到类路径。 Or you can use Maven dependencies manager to install and configure the Connector/J library in your project.或者您可以使用 Maven 依赖项管理器在您的项目中安装和配置 Connector/J 库。

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

    • For MSSql:对于 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(); }
    • For MySql:对于 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(); } }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM