如何使用JDBC连接到SQL Server 2008数据库?

tar*_*ras 52 java sql-server jdbc sql-server-2008

我在本地PC上安装了MSSQL 2008,我的Java应用程序需要连接到MSSQL数据库.我是MSSQL的新手,我想获得一些帮助,为我的Java应用程序创建用户登录并通过JDBC获得连接.到目前为止,我尝试为我的应用程序创建用户登录并使用以下连接字符串,但我根本不工作.任何帮助和提示将不胜感激.

jdbc:jtds:sqlserver://127.0.0.1:1433/dotcms 
username="shuxer"  password="itarator"
Run Code Online (Sandbox Code Playgroud)

Thu*_*usi 74

主要有两种使用JDBC的方法 - 使用Windows身份验证和SQL身份验证.SQL身份验证可能是最简单的.你能做的是:

String userName = "username";
String password = "password";

String url = "jdbc:sqlserver://MYPC\\SQLEXPRESS;databaseName=MYDB";

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection conn = DriverManager.getConnection(url, userName, password);
Run Code Online (Sandbox Code Playgroud)

将sqljdbc4.jar添加到构建路径后.

对于Window身份验证,您可以执行以下操作:

String url = "jdbc:sqlserver://MYPC\\SQLEXPRESS;databaseName=MYDB;integratedSecurity=true";
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection conn = DriverManager.getConnection(url);
Run Code Online (Sandbox Code Playgroud)

然后将sqljdbc_auth.dll的路径添加为VM参数(在构建路径中仍需要sqljdbc4.jar).

请查看此处的简短分步指南,了解如何在需要更多详细信息时使用jTDS和JDBC从Java连接到SQL Server.希望能帮助到你!


Mah*_*EFE 32

你可以用这个:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class ConnectMSSQLServer
{
   public void dbConnect(String db_connect_string,
            String db_userid,
            String db_password)
   {
      try {
         Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
         Connection conn = DriverManager.getConnection(db_connect_string,
                  db_userid, db_password);
         System.out.println("connected");
         Statement statement = conn.createStatement();
         String queryString = "select * from sysobjects where type='u'";
         ResultSet rs = statement.executeQuery(queryString);
         while (rs.next()) {
            System.out.println(rs.getString(1));
         }
      } catch (Exception e) {
         e.printStackTrace();
      }
   }

   public static void main(String[] args)
   {
      ConnectMSSQLServer connServer = new ConnectMSSQLServer();
      connServer.dbConnect("jdbc:sqlserver://<hostname>", "<user>",
               "<password>");
   }
}
Run Code Online (Sandbox Code Playgroud)


kta*_*kta 7

我也在使用mssql server 2008和jtds.在我的情况下,我使用以下连接字符串,它的工作原理.

Class.forName( "net.sourceforge.jtds.jdbc.Driver" );
Connection con = DriverManager.getConnection( "jdbc:jtds:sqlserver://<your server ip     
address>:1433/zacmpf", userName, password );
Statement stmt = con.createStatement();
Run Code Online (Sandbox Code Playgroud)


dja*_*fan 6

如果您有麻烦连接,最有可能的问题是,你还没有启用在端口1433上的TCP/IP监听器如果侦听快"的netstat -an"命令会告诉你.默认情况下,SQL Server在安装后不启用此功能.

此外,您需要在"sa"帐户上设置密码,并启用"sa"帐户(如果您打算使用该帐户进行连接).

显然,这也意味着您需要在MSSQL节点上启用"混合模式身份验证".


小智 3

尝试像这样使用:jdbc:jtds:sqlserver://127.0.0.1/dotcms; 实例=实例名称

我不知道你使用的是哪个版本的mssql,如果是express版本,默认实例是sqlexpress

不要忘记检查 SQL Server Browser 服务是否正在运行。