2012-07-09 2 views

답변

3

가정 : REMOTE_IP는 IP 주소 sql 서버가 TCP/IP 트래픽을 수신하는 포트 1433에 바인딩되어 있습니다. 데이터베이스 이름은 재스퍼입니다.

일반 ole sqljdbc.jar 드라이버를 사용하여 SQL Server에 연결하는 대신 jTDS이라는 제품을 사용하여 SQL Server에 연결합니다. 이것은 JDBC가 SQL 모드 대신 Windows 인증 모드를 사용하여 SQL 서버에 연결할 수 있기 때문입니다.

단계 :

1)) jTDS를에게 1.2.5를 가져 오기) 벽옥 서버 4.5.x

2를 설치 (또는 무엇이든 최신 것은 작동합니다.

jTDS 패키지에 몇 개의 DLL이 있음을 눈치 챘을 것입니다. 걱정마! 드라이버는 여전히 Linux에서 작동합니다. 물론 윈도우즈처럼 리눅스에서 싱글 사인을 할 수는 없습니다.

추출 jtds 라이브러리 -. </Context>

<Resource name="jdbc/sqlserver" 
      auth="Container" 
      type="javax.sql.DataSource" 
      driverClassName="net.sourceforge.jtds.jdbc.Driver" 
      url="jdbc:jtds:sqlserver://REMOTE_HOST:1433;DatabaseName=jasper;useCursors=false;domain=COM;username=Administrator;password=XXXXXXX;user=Administrator" 
      user="Administrator" 
      password="XXXXXXX" 
      maxActive="20" 
      maxIdle="20" 
      maxWait="60000" 
      removeAbandoned="true" 
      logAbandoned="true"   
      removeAbandonedTimeout="300" 
      validationQuery="SELECT 1"/> 

4) 편집 $jasperserver/apache-tomcat/webapps/jasperserver/WEB-INF/web.xml과은을 추가하기 전에

3) 편집 $jasperserver/apache-tomcat/conf/Catalina/localhost/jasperserver.xml/lib에 추가합니다 다음과 같은 요소 $의 jasperserver/아파치 - 톰캣에 * 항아리

<resource-ref> 
    <description>Connection Description</description> 
    <res-ref-name>jdbc/sqlserver</res-ref-name> 
    <res-type>javax.sql.DataSource</res-type> 
    <res-auth>Container</res-auth> 
    </resource-ref> 

5) CR : 새로운 데이터 소스에 대한 새로운 <resource-ref> 새 데이터베이스 이름 "jasper"를 작성하고 사용하려는 Active Directory 계정에 읽기 * 권한을 부여하십시오.

6) 테스트 목적으로이 스크립트를 실행

create table test (test varchar(50) NULL) 
insert into test values ('1') 
insert into test values ('2') 
insert into test values ('3') 

7) 새로운 JSP 파일 $jasperserver/apache-tomcat/webapps/jasperserver/test.jsp

<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %> 
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 

<sql:query var="rs" dataSource="jdbc/sqlserver"> 
    select test from test 
</sql:query> 

<html> 
    <head> 
    <title>DB Test</title> 
    </head> 
    <body> 
    <h2>Results</h2> 

    <c:forEach var="i" items="${rs.rows}"> 
     Text Message: <c:out value="${i.test}"/><br> 
    </c:forEach> 
    </body> 
</html> 

8) jasperserver의 바람둥이를 시작을 만듭니다. 로그인 및 테스트 http://localhost:8080/jasperserver/test.jsp

테스트 테이블의 행 1, 2 및 3이 표시되어야합니다.

작동하지 않는 경우 ... 이전 단계를 검토하고 잘못된 점을 확인하십시오.

9) 데이터 소스 -> 새 데이터 소스 -> 유형 : JNDI 데이터 소스로 이동하여 jasper 서버 JNDI 데이터 소스를 작성하기 만하면됩니다. -> JNDI 조회는 다음과 같습니다. /jdbc/sqlserver

테이블을 만들고 보고서를 테스트하십시오.

+1

Jasper를 사용하지 않지만 AD 계정을 사용하여 SQL Server를 인증 할 수 있었지만 JTDS 드라이버를 사용해야했습니다. 놀랍게도 나는 MS SQL JDBC Driver로 직접 할 수 없었다. – Shilpam

관련 문제