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

Java 如何使用JDBC连接到SQL Server 2008数据库?,java,sql-server,sql-server-2008,jdbc,Java,Sql Server,Sql Server 2008,Jdbc,我在本地电脑上安装了MSSQL 2008,我的Java应用程序需要连接到MSSQL数据库。我是MSSQL的新手,我想获得一些关于为我的Java应用程序创建用户登录和通过JDBC获得连接的帮助。到目前为止,我试图为我的应用程序创建一个用户登录,并使用了以下连接字符串,但我根本无法工作。任何帮助和暗示都将不胜感激 jdbc:jtds:sqlserver://127.0.0.1:1433/dotcms username="shuxer" password="itarator" 试着这样使用:jd

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

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

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

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


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

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

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


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

我还使用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();
Class.forName(“net.sourceforge.jtds.jdbc.Driver”);
Connection con=DriverManager.getConnection(“jdbc:jtds:sqlserver://:1433/zacmpf”,用户名,密码);
语句stmt=con.createStatement();
您可以使用:

导入java.sql.Connection;
导入java.sql.DriverManager;
导入java.sql.ResultSet;
导入java.sql.Statement;
公共类连接MSSQLServer
{
public void dbConnect(字符串db\u connect\u String,
字符串db_userid,
字符串(密码)
{
试一试{
Class.forName(“com.microsoft.sqlserver.jdbc.SQLServerDriver”);
Connection conn=DriverManager.getConnection(数据库连接字符串,
db_用户ID、db_密码);
System.out.println(“已连接”);
语句Statement=conn.createStatement();
String queryString=“select*from sysobjects,其中type='u'”;
ResultSet rs=语句.executeQuery(查询字符串);
while(rs.next()){
System.out.println(rs.getString(1));
}
}捕获(例外e){
e、 printStackTrace();
}
}
公共静态void main(字符串[]args)
{
ConnectMSSQLServer connServer=新的ConnectMSSQLServer();
dbConnect(“jdbc:sqlserver:/”,“”,
"");
}
}

使用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);
String url = "jdbc:sqlserver://MYPC\\SQLEXPRESS;databaseName=MYDB;integratedSecurity=true";
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection conn = DriverManager.getConnection(url);
将sqljdbc4.jar添加到构建路径后

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

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


如果您需要更多详细信息,请查看一个简短的分步指南,其中显示了如何使用jTDS和JDBC从Java连接到SQL Server。希望有帮助

您可以尝试配置SQL server:

  • 步骤1:打开SQL server 20xx配置管理器
  • 步骤2:单击SQL的协议。。在SQL server配置中。然后,右键单击TCP/IP,选择属性
  • 第三步:单击选项卡IP地址,编辑所有TCP。港口号是1433
  • 注意:所有TCP端口均为1433 最后,重新启动服务器。

    连接到SQL server的简单Java程序。 注意:您需要将sqljdbc.jar添加到构建路径中

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

    //1433:SQL默认端口号

    //用户名:sa

    //password:use password,在安装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();
                }
    
            }
        }
    
    试试这个

    导入java.sql.Connection

    导入java.sql.DriverManager

    导入java.sql.ResultSet

    导入java.sql.Statement

    公共类SQLUtil{

    public void dbConnect(字符串db\u connect\u String,字符串db\u userid, 字符串(密码){

    试一试{

         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();
      }    }
    
    公共静态void main(字符串[]args){

    SQLUtil connServer=newsqlutil()

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

    }

    }


    尝试使用。如果您还没有听说过。现在是时候使用。广泛对象关系映射(ORM)库了。请发布您尝试连接的代码,并向我们提供您获得的异常或错误。请注意,jar文件应该放在类路径中