Как я могу связать Crystal Reports 2011 с Apache Tomcat 7 от JNDI?
Я хочу использовать Crystal Reports для создания отчетов для проекта в Java, я должен использовать соединение JNDI, чтобы использовать Apache Tomcat 7 в качестве поставщика JNDI, я искал несколько учебных пособий, но любой из них достаточно явно, я бы как учебник, который помогает мне сделать это.
1 ответ
Вот что работает для меня:
<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. Хитрость заключается в том, что вам нужно подключаться из Crystal Reports, используя соединение Oracle и используя имя TNS, которое совпадает с именем JNDI, и сохранять отчет после подключения этой TNS.
При выполнении из Java, он ищет JNDI с тем же именем, хранящимся в отчете, и все работает нормально.
Еще одна вещь: я должен был поместить context.xml в папку моего приложения (...tomcat/webapps/MyAppName/META-INF/context.xml).