Я хочу использовать отчеты о кристаллах для создания отчетов для проекта в java, я должен использовать jndi-соединение для использования apache tomcat 7 в качестве поставщика jndi, я искал несколько учебников, но любой из них достаточно ясен, i «Мне нравится учебник, который помогает мне в этом.Как я могу подключить Crystal Reports 2011 с apache tomcat 7 от jndi?
0
A
ответ
0
Вот что работает для меня:
<Resource name="jdbc/MyDataSourceSameNameOfWhatIsInTnsNames"
auth="Container"
type="javax.sql.DataSource"
factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
username="MyUserName"
password="MyPassword"
driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@ (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = My.Ip.From.Host)(PORT = 1523)) ) (CONNECT_DATA = (SERVICE_NAME = TESTES) ) )"
maxWait="1000"
removeAbandoned="true"
maxActive="30"
maxIdle="10"
removeAbandonedTimeout="60"
logAbandoned="true"/>
выше свойство «URL» есть, после «@», то же значение из моего TNSNames.ora. Фокус в том, что вам нужно подключиться к кристальным отчетам с использованием соединения oracle и использовать имя tns, которое совпадает с именем JNDI и сохранять отчет после подключения этого tns.
При выполнении из java он ищет JNDI с тем же именем, что и в отчете, и все работает нормально.
Другое дело: мне пришлось поместить context.xml в папку приложения (... tomcat/webapps/MyAppName/META-INF/context.xml).
Я добавил этот код в TOMCAT_HOME/CONF/context.xml <Имя ресурса = "JDBC/MyDataSource" AUTH = тип "Контейнер" = "javax.sql.DataSource" maxActive = "100" maxIdle =» 30 "maxWait =" 10000 " username =" abc "password =" abc "driverClassName =" oracle.jdbc.OracleDriver " url =" jdbc: oracle: thin: @ 123.123.123.123: 1521: xe "/> < ! - // попробовал оба имени класса драйвера, но все не работают driverClassName = "oracle.jdbc.driver.OracleDriver" -> –
user2748543
Я не знаю, нужно ли мне что-то добавлять в TOMCAT_HOME/conf/server.xml или ir TOMCAT_HOME/CONF/web.xml – user2748543