2012-07-09 24 views

回答

3

假設: REMOTE_IP是ip地址sql server綁定到偵聽tcp/ip通信的端口1433。而數據庫名稱是jasper

除了使用plain ole sqljdbc.jar驅動程序連接到SQL Server,我們將使用名爲jTDS的產品連接到SQL Server。這是因爲它允許JDBC使用Windows身份驗證模式而不是SQL模式連接到SQL服務器。

步驟:

1)安裝碧玉服務器4.5.x

2)獲取JTDS 1.2.5(或什麼是最新的應該工作)。

您可能已經注意到該jTDS包中有幾個DLL。別擔心!該驅動程序仍然在Linux中工作。當然,你不能像Windows一樣在Linux中進行單點登錄。

提取JTDS - *罐子$的JasperServer/Apache的Tomcat的/ lib目錄

3)編輯$jasperserver/apache-tomcat/conf/Catalina/localhost/jasperserver.xml並添加下面的元素之前</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並添加新數據源爲<resource-ref>

<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請求新的數據庫名稱「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的Tomcat。登錄和測試http://localhost:8080/jasperserver/test.jsp

您應該看到測試表中的第1,2和3行。

如果它不起作用...請查看前面的步驟並查看出了什麼問題。 9)通過轉到:Datasources - > New Data source - > Type:JNDI數據源,簡單地創建一個jasper服務器JNDI數據源。 - > JNDI查找是:/jdbc/sqlserver

創建您的表並測試您的報告。

+1

我沒有使用Jasper,但我能夠使用AD帳戶進行SQL Server身份驗證,但我必須使用JTDS驅動程序。感到驚訝的是,我無法直接使用MS SQL JDBC Driver來完成它。 – Shilpam 2015-06-09 18:04:26

相關問題