2012-02-02 7 views
1

JavaアプリケーションのsybaseのJConnect(jConn3.jar)ドライバを使用してSQL Anywhere 11(Sybase)データベースに接続する必要があります。私はドキュメントを試して、テクニカルサポートに連絡しましたが、有効なヘルプは何も知られていませんでした:(また、このドライバを使用してCrystal Reports XIに接続する方法を知っている人は、助けてくれれば大いに助かります...Java JDBC Sybase JConnect

+1

あなたは私たちに「それは働かない」以上のものを与えなければなりません。いくつかのソースコードとスタックトレースがありますか?ここでそれを手に入れよう!コマンドラインも含めることができます。 JDBC接続文字列を調べることは、JDBCの悪い部分です。あなたは正しい場所に来ましたが、もっと私たちに与えなければなりません。 –

+0

申し訳ありませんが、私は「私のSQL Anywhere 11(Sybase)データベースに接続する」と言ったときに誤解していたと思います...私は、MySQLデータベースではなくSQL Anywhere 11データベースに接続したいと考えていました。 。また、私はclasspathの部分を、Thanx alot Bobと考えました。しかし、jConn3.jarをプロジェクト(ライブラリとして)に入れ、アプリケーションの起動時に動的に読み込むことは可能でしょうか?もしそうなら、どうすればよいでしょうか? – user1184416

+0

どのようなアプリケーションですか? Webまたはスタンドアロン? – sebastiencol

答えて

0

あなたのjconn3.jarを、アプリケーションのクラスパス上にあるすると以下のようあなたのJDBCドライバを使用します。

try { 
     Class.forName("com.mysql.jdbc.Driver").newInstance(); 
     String url = "jdbc:mysql://localhost/coffeebreak"; 
     conn = DriverManager.getConnection(url, "username", "password"); 

     // Do your stuff 

     conn.close(); 
    } catch (Exception ex) { 
    ... 
    } 

コメント私の答えは助けに私たちもこの種の問題に遭遇した私たちのプロジェクトは、JSPでビューアを使用。 初めてレポートを開くと、ビューアはレポートの識別子を生成します。これをセッションに保存する必要がありますドリルダウンすると、この識別子を使用することができます。この方法では、同じレポートであり、ビューアは同じデータソースを使用することを示します。ここ はテキストより明確にする必要がありますコードの一部です:

// Report viewer 
CrystalReportViewer crystalViewer = new CrystalReportViewer(); 

// Key to store the report source 
String reportSourceSessionKey = "anyKeyYouWant"; 
Object reportSource = null; 

// Get the report name passed in parameter 
String reportName = request.getParameter("report"); 
if (reportName != null) { 
    // Build your report 
    ReportClientDocument reportClientDoc = new ReportClientDocument(); 

    // ... 

    // Store de report source 
    reportSource = reportClientDoc.getReportSource(); 
    session.setAttribute(reportSourceSessionKey, reportSource); 

    // Close the report document 
    reportClientDoc.close(); 
} else { 
    reportSource = session.getAttribute(reportSourceSessionKey); 
} 

// Set the source of the viewer 
crystalViewer.setReportSource(reportSource); 

.... 

これが私たちのJNDIの問題を解決しました。あなたのためにやってくれることを願っています。

+0

こんにちはouapdouap、答えはThanx :)しかし、私の一番のコメントをお読みください。 Aswel、そのサイトは私を助けてくれませんでした。私は過去3週間、それを止めていませんでした:(問題は、何らかの理由で、ReportViewerを使用してレポートを開くと、レポート内のデータDBから更新されていません。私がリフレッシュ()を言うと、何もしません。エラーも何もありません。スキップするだけです...しかし、ビューア内でリフレッシュしようとすると、JNDI名前の誤り...私の髪は落ちて忙しい:o ...一숨、笑から – user1184416

関連する問題