java - windows认证方式JDBC连接MSSQL服务器

标签 java sql-server-2005 jdbc

在我的以下程序中,我尝试在 Windows 身份验证中使用 jdbc 连接 MSSQL Server。但是出现以下错误

import java.io.*;
import java.sql.*;
import java.util.GregorianCalendar;
import java.util.Date;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;

class  Cms_truncate
{
    public static void main(String[] args) 
    {
         Calendar cal = new GregorianCalendar();

         //String name="cmscim";
         //String filename = "D:\\programs\\Tomcat 6.0\\webapps\\timescape\\canteen_scheduller\\CMS_CSV\\cms_cim\\"+ name+"-"+cal.get(Calendar.YEAR) +"-" +(cal.get(Calendar.MONTH)+1) + "-"+cal.get(Calendar.DATE)+".csv";
         Connection conn = null;
         String url = "jdbc:sqlserver://localhost:1433;databasename=CMS_TIMES_MAIN;integratedSecurity=true";
         String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
         String userName = ""; 
         String password = "";
         Statement stmt;
         try
         {

         Class.forName(driver);//.newInstance();
         conn = DriverManager.getConnection(url,userName,password);
         String query = "select * from cim where sapId=10025331";
         stmt = conn.createStatement();
         int flag = stmt.executeUpdate(query);
         System.out.println("flag = "+flag); 
         conn.close();
        System.out.println("");
         } catch (Exception e) {
         e.printStackTrace();
         }

    }
}

我在 Windows 身份验证模式下使用 SQL Server。 我是否需要设置其他东西才能在 Windows 身份验证中使用 jdbc 连接 MSSQL。

错误:

com.microsoft.sqlserver.jdbc.SQLServerException: The TCP/IP connection to the host localhost, port 1433 has failed. Error: "Connection refused: connect. Verify the connection properties. Make sure that an instance of SQL Server is running on the host and accepting TCP/IP connections at the port. Make sure that TCP connections to the port are not blocked by a firewall.".
    at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:190)
    at com.microsoft.sqlserver.jdbc.SQLServerException.ConvertConnectExceptionToSQLServerException(SQLServerException.java:241)
    at com.microsoft.sqlserver.jdbc.SocketFinder.findSocket(IOBuffer.java:2243)
    at com.microsoft.sqlserver.jdbc.TDSChannel.open(IOBuffer.java:491)
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1309)
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:991)
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:827)
    at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1012)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at Cms_truncate.main(Cms_truncate.java:28)

最佳答案

使用 windows 身份验证:

String url ="jdbc:sqlserver://PC01\inst01;databaseName=DB01;integratedSecurity=true";

使用 SQL 身份验证:

String url ="jdbc:sqlserver://PC01\inst01;databaseName=DB01";

关于java - windows认证方式JDBC连接MSSQL服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16497998/

相关文章:

java - WebDriver findElements 在检索时是否保留表行顺序

java - 从命令提示符获取 java 程序中的非初始参数用户输入

java - 将 log4j2 输出附加到 TextArea

.net - SQL Server 数据库可以在事务期间应答吗?

java - 如何使用纯 JDBC 获取目标表的名称和外键列的列

java - 为 JDBC 连接设置网络超时

Java服务器一遍又一遍地接收相同的数据

java - SQL2005 的方言

sql-server - sql server UTF8问题

java.lang.ClassNotFoundException : com/ibm/db2/jcc/DB2Driver - DB2