繁体   English   中英

无法使用Java 8连接到SQL Server

[英]Unable to connect to sql server using java 8

我正在尝试使用Java 8连接到我的SQL Server21014。但是我遇到了错误。

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:连接URL'jdbc:jtds:sqlserver // localhost:1433 / dictionary'的语法无效。 在net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:181)在net.sourceforge.jtds.jdbc.Driver.setupConnectProperties(Driver.java:241)在java.sql.DriverManager.getConnection(未知源)在DBConnec.main(DBConnec.java:15)处java.sql.DriverManager.getConnection(未知源)处

我正在使用以下命令运行代码:

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

我也尝试了url而未编写“ sqlserver”。 但是它也有同样的例外。 请帮助..谢谢

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

java.sql.SQLException:网络错误IOException:连接被拒绝:在net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:183)处的net.sourceforge.jtds.jdbc.JtdsConnection。(JtdsConnection.java:434)连接),位于DBConnec.main(DBConnec.java:15)的java.sql.DriverManager.getConnection(未知源)的java.sql.DriverManager.getConnection(未知源)的原因:java.net.ConnectException:拒绝连接:连接于java.net.AbstractPlainSocketImpl.doConnect的java.net.DualStackPlainSocketImpl.socketConnect(未知源),java.net.AbstractPlainSocketImpl.doConnect(未知源),java.net.DualStackPlainSocketImpl.socketConnect(未知源)。在java.net上的net.AbstractPlainSocketImpl.connect(未知源)在sun.reflect上的java.net.SocksSocketImpl.connect(未知源)在java.net.SocksSocketImpl.connect(未知源) sun.reflect.NativeMethodAccessorImpl.invoke(Un)上的NativeMethodAccessorImpl.invoke0(本机方法) java.lang.reflect.Method.invoke处sun.reflect.DelegatingMethodAccessorImpl.invoke的已知源(未知源)

尝试这个:

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

您在sqlserver之后错过了冒号。

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

JTDS的url格式为:

jdbc:jtds:<server_type>://<server>[:<port>][/<database>][;<property>=<value>[;...]]

因此,您的网址应类似于:

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

暂无
暂无

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

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