2016-10-27 16 views
0

私はSaxon 9.5 EEを使用しており、公式の文書に続いて、saxon sqlの使用例を示しています。次のスニペットをDBに接続するために、その中でJNDIからデータベース接続にアクセスするには、saxonica(Saxon)sql拡張機能を使用するXAトランザクションサポートがありますか?

<xsl:stylesheet 
xmlns:sql="http://saxon.sf.net/sql" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" 
xmlns:saxon="http://saxon.sf.net/" 
extension-element-prefixes="saxon sql"> 

<!-- insert your database details here, or supply them in parameters --> 
<xsl:param name="driver" select="'sun.jdbc.odbc.JdbcOdbcDriver'"/> 
<xsl:param name="database" select="'jdbc:odbc:test'"/> 
<xsl:param name="user"/> 
<xsl:param name="password"/> 

を述べているが、私は、IPを言及したいと思い、ここでURLのパスワードと、私は、JNDIデータソースから既存の接続プールを使用する必要はありません。また、このすべてのデータベースアクティビティをXAトランザクションの一部にすることができるかどうかを知りたいと思います。

このようにして、私は望ましいパフォーマンスを達成することができません。これとは別に、smooksとFTLを使って、3〜4倍の速さのjndiデータソースを使ってみましたが、xsltの高度な機能と大きなコミュニティが緩んでいます。

誰かが似たようなことをしていれば、助けてください。

答えて

0

SaxonのSQL拡張は、主にユーザーが提供したコードであり、オープンソースであり、拡張したり、より野心的なものの出発点として使用することは大歓迎です。

しかし、Saxonのsql:connectを使用して接続を取得するのではなく、(ExternalObjectとしてラップされた)スタイルシートへのパラメータとしてJDBC接続を確実に渡すことができます。

今日私がSQL拡張を行っていたのであれば、私は拡張要素を使用するとは思わなかった、私はすべて関数でそれを行うだろう。マップや高次関数が追加され、より複雑なパラメータや結果構造を設計できるようになりました。たとえば、sql:query()にマップの配列を返します。各マップは結果の1行を表します。

関連する問題