java - 无法使用 java 8 连接到 sql server

标签 java database jtds

我正在尝试使用 java 8 连接到我的 sql server 21014。但是我遇到了错误。

import java.sql.*;
import java.io.*;
import java.net.*;
import java.util.Scanner;

public class DBConnec
{
    public static void main(String a[])
    {

        try
        {
            String url = "jdbc:jtds:sqlserver//localhost:1433/dictionary";   
            Class.forName("net.sourceforge.jtds.jdbc.Driver");
            Connection conn = DriverManager.getConnection(url);
            System.out.println("connection created");
            Statement st=conn.createStatement();    
            String sql="select * from data where word LIKE 'hi'";
            ResultSet rs=st.executeQuery(sql);

            if (rs.next()) 
            {
                System.out.println(rs.getString(0));
            }

            if(st!=null)
                st.close();
            if(conn!=null)
                conn.close();
        }
        catch(SQLException sqle)
        {
            sqle.printStackTrace();
        }

        catch(ClassNotFoundException e)
        {
            e.printStackTrace();
        }

    }
}

我得到的异常是:

java.sql.SQLException: The syntax of the connection URL 'jdbc:jtds:sqlserver//localhost:1433/dictionary' is invalid. at net.sourceforge.jtds.jdbc.Driver.setupConnectProperties(Driver.java:241) at net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:181) at java.sql.DriverManager.getConnection(Unknown Source) at java.sql.DriverManager.getConnection(Unknown Source) at DBConnec.main(DBConnec.java:15)

我正在使用这个命令运行我的代码:

java -cp .;"C:\Program Files\Java\jdk1.8.0_66\jre\lib\ext\jtds-1.3.0.jar" DBConnec

我也试过不写“sqlserver”的url。但它给出了同样的异常(exception)。 请帮助..谢谢..

我已经更正了我的语法,但现在我遇到了这样的异常:

java.sql.SQLException: Network error IOException: Connection refused: connect at net.sourceforge.jtds.jdbc.JtdsConnection.(JtdsConnection.java:434) at net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:183) at java.sql.DriverManager.getConnection(Unknown Source) at java.sql.DriverManager.getConnection(Unknown Source) at DBConnec.main(DBConnec.java:15) Caused by: java.net.ConnectException: Connection refused: connect at java.net.DualStackPlainSocketImpl.connect0(Native Method) at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source) at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source) at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source) at java.net.AbstractPlainSocketImpl.connect(Unknown Source) at java.net.PlainSocketImpl.connect(Unknown Source) at java.net.SocksSocketImpl.connect(Unknown Source) at java.net.Socket.connect(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source)

最佳答案

试试这个:

String url = "jdbc:jtds:sqlserver://localhost:1433/dictionary";

您在 sqlserver 之后漏掉了冒号。

您不应将 JDBC 驱动程序 JAR 添加到 jre/lib/ext 目录。了解如何正确使用 CLASSPATH。

关于java - 无法使用 java 8 连接到 sql server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39466200/

相关文章:

java - 如何将标准日期解析为 GMT?

SQL 语法

sql-server - 为什么 JTDS 比 Microsoft JDBC 驱动程序更快?

java - Spring Boot 如何使用 HiddenHttpMethodFilter

java - 如何在没有 'illegal reflective access' 的情况下在 Java 中设置环境变量?如何使用附加打开?

sql - 仅在备份成功时删除数据库

php - php中的mysql错误

java - 使用 Microsoft 的 JDBC 驱动程序创建连接比使用 jTDS 快 3 倍

java - 为 Apache Shiro 配置 JTDS 数据源

java - 使用 Junit 生成多个单元测试