2

ローカルの Oracle データベースの問題を解決できません。ローカルの Oracle データベース (Oracle Database 11g Express Edition) に接続しようとしています。後で JNDI を使用して別の Oracle データベースに接続しますが、これはまだ機能すると思います。ドライバー: /lib 内の ojdbc6.jar

db.default.driver=oracle.jdbc.driver.OracleDriver
db.default.url="jdbc:oracle:thin:@localhost:1521:xe"
db.default.user="user"
db.default.pass="pass"

したがって、データベースに接続していることはわかっていますが、テーブルが存在しないというエラーが表示されます。私はテーブルを作成したりクエリしたりしていません(モデルは存在しませんが、モデルも試してみましたが、同じエラーです)。最初は何かがおかしいようで、これをデバッグする方法がわかりません。

エラー:

**java.sql.SQLSyntaxErrorException: ORA-00942: table or view does not exist**
 oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:457)
 oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:400)
 oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:926)
 oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:476)
 oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:200)
 oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:543)
 oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:197)
 oracle.jdbc.driver.T4CStatement.executeForDescribe(T4CStatement.java:1213)
 oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1492)
 oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1710)
 oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:2006)
 oracle.jdbc.driver.OracleStatementWrapper.executeQuery(OracleStatementWrapper.java:1709)
 com.jolbox.bonecp.StatementHandle.executeQuery(StatementHandle.java:503)
 play.api.db.evolutions.Evolutions$.executeQuery(Evolutions.scala:118)
 play.api.db.evolutions.Evolutions$.databaseEvolutions(Evolutions.scala:334)
 play.api.db.evolutions.Evolutions$.evolutionScript(Evolutions.scala:306)
 play.api.db.evolutions.EvolutionsPlugin$$anonfun$onStart$1$$anonfun$apply$1.apply$mcV$sp(Evolutions.scala:435)
 play.api.db.evolutions.EvolutionsPlugin.withLock(Evolutions.scala:478)
 play.api.db.evolutions.EvolutionsPlugin$$anonfun$onStart$1.apply(Evolutions.scala:434)
 play.api.db.evolutions.EvolutionsPlugin$$anonfun$onStart$1.apply(Evolutions.scala:432)
 scala.collection.immutable.List.foreach(List.scala:309)
 play.api.db.evolutions.EvolutionsPlugin.onStart(Evolutions.scala:432)
 play.api.Play$$anonfun$start$1$$anonfun$apply$mcV$sp$1.apply(Play.scala:63)
 play.api.Play$$anonfun$start$1$$anonfun$apply$mcV$sp$1.apply(Play.scala:63)
 scala.collection.immutable.List.foreach(List.scala:309)
 play.api.Play$$anonfun$start$1.apply$mcV$sp(Play.scala:63)
 play.api.Play$$anonfun$start$1.apply(Play.scala:63)
 play.api.Play$$anonfun$start$1.apply(Play.scala:63)

それについて読んだとき、私はいくつかのテーブルへのアクセス許可を持っていない可能性があることを発見しましたが、問題は、Oracle SQL Developerで同じログインを使用していて、それが機能していることです。

4

3 に答える 3

7

nico_ekito が書いたように、このテーブルは手動で作成する必要があります。

これは私のために働きます:

CREATE TABLE play_evolutions
(
  id Number(10,0) Not Null Enable,
  hash VARCHAR2(255 Byte),
  applied_at Timestamp Not Null,
  apply_script clob,
  revert_script clob,
  state Varchar2(255),
  last_problem clob,
  CONSTRAINT play_evolutions_pk PRIMARY KEY (id)
); 
于 2013-04-17T11:53:00.027 に答える
5

play_evolutions次の列を持つテーブルを手動で作成してみてください(型を Oracle で使用されるものに合わせて調整します)。

id int not null primary key, hash varchar(255) not null, 
applied_at timestamp not null, 
apply_script text, 
revert_script text, 
state varchar(255), 
last_problem text
于 2013-03-06T16:12:53.397 に答える
2

conf/application.conf

次の行のコメントを外します。

evolutionplugin=disabled

これは、 (スキーマの変更を追跡するための) Evolutionsが必要ない場合です。

于 2013-05-01T14:40:55.517 に答える