2010-03-16 3 views
42

로컬 PC에 MSSQL 2008이 설치되어 있고 Java 응용 프로그램이 MSSQL 데이터베이스에 연결해야합니다. 저는 MSSQL에 익숙하지 않아 Java 응용 프로그램의 사용자 로그인을 만들고 JDBC를 통해 연결하는 데 도움이 필요합니다. 지금까지 내 애플 리케이션에 대한 사용자 로그인을 만들려고했는데 다음 연결 문자열을 사용했지만 전혀 작동하지 않습니다. 어떤 도움이나 힌트도 환영 할 것입니다.JDBC를 사용하여 SQL Server 2008 데이터베이스에 어떻게 연결합니까?

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

연결하려는 코드를 게시하십시오. 예외 또는 오류가 발생하는 경우 – developer

+0

[Hibernate] (https://www.hibernate.org/6.html#A2)를 사용해보십시오. 그것에 대해 들어 본 적이 없다면 [이 도구를보십시오] (http://docs.jboss.org/hibernate/stable/core/reference/en/html/)에 인사 할 시간입니다. 광범위한 객체 관계형 매핑 (ORM) 라이브러리. – Artic

답변

-8

이 샘플 Java 프로그램은 JDBC를 사용하여 MySQL 데이터베이스에 연결하고 쿼리를 실행하고 데이터베이스 필드 값을 검색 및 인쇄합니다.

동일한 샘플 코드를 사용하여 모든 유형의 데이터베이스에 연결할 수 있으므로 연결 URL (샘플의 dbUrl)을 변경하기 만하면됩니다. 이 코드가 제대로 작동하려면 JDBC 용 mysql 드라이버, 즉 mysql.com 사이트의 Java Connectors를 다운로드해야합니다.

URL을 다운로드 한 후에도 여전히 작동하지 않는다면 아마도 classpath 때문일 수 있습니다. 클래스 패스에 드라이버 jar 파일을 추가해야합니다.

import java.sql.*; 
import javax.sql.*; 

public class jdbcdemo{ 

public static void main(String args[]){ 
String dbtime; 
String dbUrl = "jdbc:mysql://your.database.domain/yourDBname"; 
String dbClass = "com.mysql.jdbc.Driver"; 
String query = "Select * FROM users"; 

try { 

Class.forName("com.mysql.jdbc.Driver"); 
Connection con = DriverManager.getConnection (dbUrl); 
Statement stmt = con.createStatement(); 
ResultSet rs = stmt.executeQuery(query); 

while (rs.next()) { 
dbtime = rs.getString(1); 
System.out.println(dbtime); 
} //end while 

con.close(); 
} //end try 

catch(ClassNotFoundException e) { 
e.printStackTrace(); 
} 

catch(SQLException e) { 
e.printStackTrace(); 
} 

} //end main 

} //end class 
+1

OP가 SQL Server가 아닌 SQL Server를 요청하고 있습니다 ... –

+3

이 대답을 삭제하십시오. –

3

다음과 같이하십시오. jdbc : jtds : sqlserver : //127.0.0.1/dotcms; 예 = 여기서 instanceName

나는 그것이 Express Edition을 경우, 기본 인스턴스가

는 SQL Server Browser 서비스가 실행 중인지 확인 잊지 마세요 SQLEXPRESS, 당신이 사용하는 경우 MSSQL의 버전을 모른다.

5

연결에 문제가있는 경우 포트 1433에서 아직 TCP/IP 수신기를 활성화하지 않은 것이 문제 일 가능성이 큽니다. 빠른 "netstat -an"명령은 수신 대기 여부를 알려줍니다. 기본적으로 SQL Server는 설치 후이 기능을 활성화하지 않습니다.

또한 "sa"계정에 암호를 설정하고 "sa"계정 (해당 계정을 사용하여 연결하려는 경우)을 활성화해야합니다.

분명히 이것은 또한 MSSQL 노드에서 "혼합 모드 인증"을 활성화해야한다는 것을 의미합니다.

5

또한 mssql server 2008 및 jtds.In 제 경우에는 다음 연결 문자열을 사용하고 있습니다.

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

당신은 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>"); 
    } 
} 
61

는 JDBC를 사용하는 주로 두 가지 방법이 있습니다 - Windows 인증과 SQL 인증을 사용. 아마도 SQL 인증이 가장 쉽습니다. 빌드 경로에 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); 

을 다음 VM 인수로있는 sqljdbc_auth.dll 할 수있는 경로를 추가 (아직 빌드 경로에 sqljdbc4.jar이 필요합니다).

here을 보시고 jTDS 및 JDBC를 사용하여 Java에서 SQL Server에 연결하는 방법을 보여주는 짧은 단계별 안내서를 참조하십시오. 희망이 도움이됩니다!

2

당신은 SQL 서버를 구성하려고 할 수 있습니다

  1. 1 단계 : 오픈 SQL 서버 20XX 구성 관리자
  2. 2 단계 : SQL 서버 구성에 .. SQL에 대한 프로토콜을 클릭합니다. 그런 다음 TCP/IP를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다.
  3. 3 단계 : IP 주소 탭, 모든 TCP 편집을 클릭합니다. 모든 TCP 포트 서버를 다시 시작, 마지막으로 1433 입니다 : 포트는 1433

주입니다.

관련 문제