【问题标题】:How do I connect to a SQL Server 2008 database using JDBC?如何使用 JDBC 连接到 SQL Server 2008 数据库?
【发布时间】:2011-01-27 22:57:37
【问题描述】:

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

jdbc:jtds:sqlserver://127.0.0.1:1433/dotcms 
username="shuxer"  password="itarator"

【问题讨论】:

  • 尝试使用Hibernate。如果您还没有听说过,现在是look at this tool 的好时机。广泛传播的对象关系映射 (ORM) 库。
  • 请提供您尝试连接的代码,同时向我们提供您遇到的异常或错误

标签: java sql-server sql-server-2008 jdbc


【解决方案1】:

试试这个。

导入 java.sql.Connection;

导入 java.sql.DriverManager;

导入 java.sql.ResultSet;

导入 java.sql.Statement;

公共类 SQLUtil {

public void dbConnect(String db_connect_string,String db_userid, 字符串 db_password) {

试试{

     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 cpl";
     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) {

SQLUtil connServer = new SQLUtil();

connServer.dbConnect("jdbc:sqlserver://192.168.10.97:1433;databaseName=myDB", “萨”, “0123”);

}

}

【讨论】:

    【解决方案2】:

    连接到 SQL Server 的简单 Java 程序。

    注意:您需要将 sqljdbc.jar 添加到构建路径中

    // localhost : 本地计算机充当服务器

    // 1433 : SQL 默认端口号

    // 用户名:sa

    //密码:使用密码,安装SQL server management studio时使用,我这里是'root'

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    
        public class Conn {
            public static void main(String[] args) throws InstantiationException, IllegalAccessException, ClassNotFoundException {
    
                Connection conn=null;
                try {
                    Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
                    conn = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=company", "sa", "root");
    
                    if(conn!=null)
                        System.out.println("Database Successfully connected");
    
                } catch (SQLException e) {
                    e.printStackTrace();
                }
    
            }
        }
    

    【讨论】:

      【解决方案3】:

      你可以尝试配置SQL server:

      1. 第 1 步:打开 SQL server 20xx 配置管理器
      2. 步骤 2:单击 SQL 服务器配置中的 Protocols for SQL..。然后,右键单击 TCP/IP,选择属性
      3. 步骤 3:单击选项卡 IP 地址,编辑所有 TCP。端口是 1433

      注意:所有 TCP 端口都是 1433 最后,重启服务器。

      【讨论】:

        【解决方案4】:

        使用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);
        

        将 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);
        

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

        如果您需要更多详细信息,请查看here 了解如何使用 jTDS 和 JDBC 从 Java 连接到 SQL Server 的简短分步指南。希望对您有所帮助!

        【讨论】:

        • 请注意jar文件应该放在类路径中
        【解决方案5】:

        您可以使用this

        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>");
           }
        }
        

        【讨论】:

          【解决方案6】:

          我也在使用 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();
          

          【讨论】:

            【解决方案7】:

            如果您在连接时遇到问题,很可能是您尚未在端口 1433 上启用 TCP/IP 侦听器。快速的“netstat -an”命令会告诉您它是否正在侦听。默认情况下,SQL Server 安装后不会启用此功能。

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

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

            【讨论】:

              【解决方案8】:

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

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

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

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2021-05-12
                • 1970-01-01
                • 2014-03-03
                相关资源
                最近更新 更多