cancel
Showing results for 
Search instead for 
Did you mean: 

Crystal Report and Oracle SDO_GEOMETRY

Former Member
0 Kudos

Hi,

<br />

<br />

I'm using Crystal Reports for Eclipse version 2.0.4.r825 with Eclipse 3.5 and Oracle 11g as database. I configured the database connection using ojdbc14.jar. Some of the tables i want to use in the report contains columns using the SDO_GEOMETRY data type and if i try to drag this table in the data tab of the report i get the following "Unexpected ValueType" error:

<br />

<br />

com.crystaldecisions.sdk.occa.report.lib.ReportSDKException: Could not Add Object.

Unexpected ValueType: ValueType=[255]---- Error code:-2147215362 Error code name:unknownError

at com.crystaldecisions.sdk.occa.report.lib.ReportSDKException.throwReportSDKException(ReportSDKException.java:65)

at com.businessobjects.crystalreports.designer.core.commands.ReportCommand.throwExecFailure(ReportCommand.java:253)

at com.businessobjects.crystalreports.designer.core.commands.ReportCommand.internalDoCommand(ReportCommand.java:126)

at com.businessobjects.crystalreports.designer.core.commands.ReportCommand.execute(ReportCommand.java:237)

at com.businessobjects.crystalreports.designer.uibase.gef.commands.CoreCommand.execute(CoreCommand.java:70)

at com.businessobjects.crystalreports.designer.dseintegration.DSEDropHandler.drop(DSEDropHandler.java:114)

at org.eclipse.jface.util.DelegatingDropAdapter$3.run(DelegatingDropAdapter.java:211)

at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)

at org.eclipse.core.runtime.Platform.run(Platform.java:888)

at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:48)

at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)

at org.eclipse.jface.util.DelegatingDropAdapter.drop(DelegatingDropAdapter.java:209)

at org.eclipse.swt.dnd.DNDListener.handleEvent(DNDListener.java:90)

at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)

at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)

at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1027)

at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1012)

at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:770)

at org.eclipse.swt.dnd.DropTarget.Drop(DropTarget.java:456)

at org.eclipse.swt.dnd.DropTarget$3.method6(DropTarget.java:258)

at org.eclipse.swt.internal.ole.win32.COMObject.callback6(COMObject.java:119)

at org.eclipse.swt.internal.ole.win32.COM.DoDragDrop(Native Method)

at org.eclipse.swt.dnd.DragSource.drag(DragSource.java:363)

at org.eclipse.swt.dnd.DragSource.access$0(DragSource.java:289)

at org.eclipse.swt.dnd.DragSource$1.handleEvent(DragSource.java:172)

at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)

at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)

at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3880)

at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3473)

at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2405)

at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369)

at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221)

at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)

at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)

at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493)

at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)

at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)

at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)

at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)

at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)

at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:368)

at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559

at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)

at org.eclipse.equinox.launcher.Main.run(Main.java:1311)

Caused by: com.crystaldecisions.sdk.occa.report.lib.ReportSDKException: Unexpected ValueType: ValueType=[255]---- Error code:-2147467259 Error code name:failed

at com.businessobjects.reports.sdk.JRCCommunicationAdapter.if(SourceFile:741)

at com.businessobjects.reports.sdk.JRCCommunicationAdapter.a(SourceFile:167)

at com.businessobjects.reports.sdk.JRCCommunicationAdapter$2.a(SourceFile:529)

<br />

<br />

I tried the same with the Crystal Reports 2008 trial version and i'm having the same problem.

<br />

<br />

I don't wanna use the geometry column in my report but because of this error i can't use the whole table. Is there a way to avoid this error and still use the other columns of the table. Or maybe there is another way to connect to an Oracle database which can handle this special data type.

<br />

<br />

Thanks in advance,

<br />

<br />

Jens Keller

Accepted Solutions (0)

Answers (1)

Answers (1)

0 Kudos

Hi Jens,

CR has never supported that type. Only way I can think of is to create a stored procedure and SELECT all fields except that one.

Try using our Native Oracle Driver to see if it supports it.

Thank you

Don

Former Member
0 Kudos

Thanks for your fast answer,

now that you noted stored procedures i thought of another way to avoid this error. I can also use views to filter out only the columns i want to use, since the data source explorer in CR for Eclipse shows views and stored procedures.

But i have to ask again, is there really no way to say Crystal Reports to just ignore columns with an unknown data type? That would make it much easier.

Thanks for your help,

Jens Keller

0 Kudos

Hi Jens,

Views would work also as you noted.

No, if DB manufacturers change/update their Servers/clients they need to follow ANSII 92 standards. If they don't return the correct data type then CR will not "hack" our drivers to fix their issues. We did that for years and was a code nightmare, when they got around to fixing the problem it broke CR again. We decided to follow the standards, it may be our issue sometimes but in this case unique data types typically are not supported by CR. If you want support and it's not a client issue then add your request to the Enhancement Request2 post.

So yes in your case it would make it easier but for others they'll be asking why CR doesn't show all fields. Same reason.... not a CR issue.

Thanks agian

Don

Former Member
0 Kudos

Hi Don,

that's no problem, i will try the stored procedure/view solution.

Thanks for helping me out and pointing me to a solution.

Jens Keller