无法使用java 8连接到sql server

时间:2016-09-13 09:08:55

标签: 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:连接URL“jdbc:jtds:sqlserver // localhost:1433 / dictionary”的语法无效。           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)           在DBConnec.main(DBConnec.java:15)

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

  

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.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)           在DBConnec.main(DBConnec.java:15)       引起:java.net.ConnectException:连接被拒绝:连接           at java.net.DualStackPlainSocketImpl.connect0(Native Method)           在java.net.DualStackPlainSocketImpl.socketConnect(未知来源)           at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)           at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)           在java.net.AbstractPlainSocketImpl.connect(未知来源)           在java.net.PlainSocketImpl.connect(未知来源)           在java.net.SocksSocketImpl.connect(未知来源)           在java.net.Socket.connect(未知来源)           at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)           at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)           at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)           在java.lang.reflect.Method.invoke(未知来源)

2 个答案:

答案 0 :(得分:1)

试试这个:

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

sqlserver之后你错过了冒号。

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

答案 1 :(得分:1)

JTDS is的网址格式:

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

所以你的网址应该是这样的:

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