Предположения: REMOTE_IP — это IP-адрес. SQL-сервер привязан к порту 1433 и прослушивает TCP/IP-трафик. И имя базы данных jasper.
Вместо использования обычного драйвера sqljdbc.jar для подключения к SQL Server мы будем использовать продукт под названием jTDS для подключиться к SQL серверу. Это связано с тем, что он позволяет JDBC подключаться к серверу SQL с использованием режима проверки подлинности Windows вместо режима SQL.
Шаги:
1) Установите яшмовый сервер 4.5.x
2) Получите jTDS 1.2.5 (или любую последнюю версию, которая должна работать).
Вы могли заметить, что в этом пакете jTDS есть несколько DLL. Не волнуйся! Драйвер по-прежнему работает в Linux. Вы просто не можете использовать единый вход в Linux, конечно, как это делает Windows.
Извлеките jtds-*.jar в $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) Создайте новую базу данных с именем «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) Запустите tomcat jasperserver. Войдите и протестируйте http://localhost:8080/jasperserver/test.jsp
Вы должны увидеть строки 1, 2 и 3 из тестовой таблицы.
Если это не сработает... просмотрите предыдущие шаги и посмотрите, что пошло не так.
9) Просто создайте источник данных JNDI сервера jasper, выбрав: Источники данных -> Новый источник данных -> Тип: источник данных JNDI. -> Поиск JNDI: /jdbc/sqlserver
Создайте свои таблицы и протестируйте свой отчет.
person
Nicholas DiPiazza
schedule
09.07.2012