2012-02-23 7 views
0

私はglassfishを使ってeclipseでWebプロジェクトを持っています。私は自分のアプリケーションを実行すると間違ったデータベースを指すデータベース接続

DatabaseMetaData dmd = connection.getMetaData(); 
String name = dmd.getDatabaseProductName(); 

Database製品名は、この理由何ができるか常にApache Derby

ある

<?xml version="1.0" encoding="UTF-8"?> 
<Context> 
    <Resource name="jdbc/TestDS" type="javax.sql.DataSource" 
     url="jdbc:oracle:thin:@server:1521:db1" 
     driverClassName="oracle.jdbc.OracleDriver" username="test" password="test" /> 
</Context> 

のcontext.xmlに以下のデータソースエントリがありますか? Oracle Derbyに接続しようとしていますが、Apache Derbyに接続しています。

この問題を解決するにはどうすればよいですか?あなたがここにいくつかのものを混合しているかのように

おかげ

アップデート1

public static DatabaseConnection getInstance(String name) 
      throws DatabaseException { 

     DatabaseConnection instance; 
     DataSource ds; 
     try { 
      InitialContext ctx = new InitialContext(); 
      ds = (DataSource) new InitialContext().lookup("java:comp/env/" 
        + name); 


     } catch (NamingException e) { 
      e.printStackTrace(); 
      throw new DatabaseException("###data source is invalid ###" + e); 

     } 
     instance = new MYDataSource(ds); 

     return instance; 
    } 
+0

データベース接続を取得するコードを投稿できますか? –

+0

@CarlosGavidiaデータベース接続部を上記のアップデート1として追加しました。 – user75ponic

答えて

0

この問題は解決しました。

GlassFishでJDBCリソースを作成し、日付ソースエクスプローラの下に作成した接続にポイント接続しました。 sun-resources.xmlが作成されました。手動で名前をglassfish-resource.xmlに変更しなければなりませんでした。デフォルトではパスワードの入力がないので、手動で<property name="Passwrod" value="password" />を追加する必要がありました。 Webアプリケーションを実行したときにこのエラーが発生しました

java.sql.SQLException: Error in allocating a connection. Cause: No PasswordCredential found 

このエラーを解決するために、glassfish管理サーバーのJDBC接続プールにプロパティを追加しました。これでOracleデータベースに接続できました。

私は手動で2つのステップを実行する必要があるのか​​分かりません。

ありがとうございました

0

らしいです。 context.xmlは明らかにApache Tomcat設定ファイルです。 GlassFishでは、glassfish-resources.xmlを使用するか、admin GUIまたはdomain.xmlを使用してドメインを直接構成する必要があります。 GlassFishドキュメントでGlassFish 3.1でこれを行う基本的な例があります。 http://docs.oracle.com/cd/E18930_01/html/821-2416/ggndx.html

楽しくお楽しみください! Markus

関連する問題