2016-06-25 7 views
0

Oracle Express 11gをインストールしましたが、ojdbc6を使用してJavaアプリケーションからデータベース表を読み取ろうとしました。しかし、私は、次の文で例外を取得:java.sql.SQLDataException:ORA-01424:エスケープ文字の後に文字がありません。

connection.getMetaData().getColumns(null, null, table, null); 

例外の完全なスタックトレースは次のとおりです。

java.sql.SQLDataException: ORA-01424: missing or illegal character following the escape character 

at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:440) 
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396) 
at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:837) 
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:445) 
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:191) 
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:523) 
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:207) 
at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:1010) 
at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1185) 
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1275) 
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3576) 
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3620) 
at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1491) 
at oracle.jdbc.driver.OracleDatabaseMetaData.getColumnsWithWildcards(OracleDatabaseMetaData.java:331) 
at oracle.jdbc.driver.OracleDatabaseMetaData.getColumns(OracleDatabaseMetaData.java:125) 
at org.nicholding.nicat.view.wizard.ImportTablePage.getNumberOfColumns(ImportTablePage.java:316) 
at org.nicholding.nicat.view.wizard.ImportTablePage$3.getText(ImportTablePage.java:167) 
at org.eclipse.jface.viewers.ColumnLabelProvider.update(ColumnLabelProvider.java:36) 
at org.eclipse.jface.viewers.ViewerColumn.refresh(ViewerColumn.java:152) 
at org.eclipse.jface.viewers.AbstractTableViewer.doUpdateItem(AbstractTableViewer.java:399) 
at org.eclipse.jface.viewers.StructuredViewer$UpdateItemSafeRunnable.run(StructuredViewer.java:485) 
at org.eclipse.jface.util.SafeRunnable$1.run(SafeRunnable.java:128) 
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175) 
at org.eclipse.jface.viewers.StructuredViewer.updateItem(StructuredViewer.java:2167) 
at org.eclipse.jface.viewers.AbstractTableViewer.createItem(AbstractTableViewer.java:277) 
at org.eclipse.jface.viewers.AbstractTableViewer.internalRefreshAll(AbstractTableViewer.java:757) 
at org.eclipse.jface.viewers.AbstractTableViewer.internalRefresh(AbstractTableViewer.java:649) 
at org.eclipse.jface.viewers.AbstractTableViewer.internalRefresh(AbstractTableViewer.java:636) 
at org.eclipse.jface.viewers.AbstractTableViewer$2.run(AbstractTableViewer.java:592) 
at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1443) 
at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1404) 
at org.eclipse.jface.viewers.AbstractTableViewer.inputChanged(AbstractTableViewer.java:590) 
at org.eclipse.jface.viewers.ContentViewer.setInput(ContentViewer.java:280) 
at org.eclipse.jface.viewers.StructuredViewer.setInput(StructuredViewer.java:1690) 
at org.nicholding.nicat.view.wizard.ImportTablePage.setVisible(ImportTablePage.java:244) 
at org.eclipse.jface.wizard.WizardDialog.updateForPage(WizardDialog.java:1259) 
at org.eclipse.jface.wizard.WizardDialog.access$4(WizardDialog.java:1238) 
at org.eclipse.jface.wizard.WizardDialog$8.run(WizardDialog.java:1227) 
at org.eclipse.swt.custom.BusyIndicator.showWhile(Unknown Source) 
at org.eclipse.jface.wizard.WizardDialog.showPage(WizardDialog.java:1225) 
at org.eclipse.jface.wizard.WizardDialog.nextPressed(WizardDialog.java:915) 
at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:428) 
at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:624) 
at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source) 
at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source) 
at org.eclipse.swt.widgets.Display.sendEvent(Unknown Source) 
at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source) 
at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source) 
at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source) 
at org.eclipse.jface.window.Window.runEventLoop(Window.java:825) 
at org.eclipse.jface.window.Window.open(Window.java:801) 
at org.nicholding.nicat.view.wizard.NICATWizard.open(NICATWizard.java:70) 
at org.nicholding.nicat.controller.Controller.actionMenuFileImportData(Controller.java:98) 
at org.nicholding.nicat.view.MainWindow$ImportDataListener.widgetSelected(MainWindow.java:250) 
at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source) 
at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source) 
at org.eclipse.swt.widgets.Display.sendEvent(Unknown Source) 
at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source) 
at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source) 
at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source) 
at org.nicholding.nicat.Main.main(Main.java:70) 

私は問題が何であるかを把握することはできません。どんな助けもありがとう。

+1

表にはどのような値がありますか?btw、したがってdoc、columnname(最後のパラメータ)はnullにはできません。https://docs.oracle.com/javase/7/docs/api/java/sql/DatabaseMetaData.html#getColumns (java.lang.String、%20java.lang.String、%20java.lang.String、%20java.lang.String) –

+0

oracleバージョン –

+0

と一致するJDBCドライバを使用します。一致するバージョンを使用します – user1723583

答えて

-1

これは、テーブル名に'/'という文字が含まれているためです。これにはwhoes名が含まれているテーブルをエスケープしようとしています。

関連する問題