cancel
Showing results for 
Search instead for 
Did you mean: 

Unable to update datasource through Set Datasource Location

Former Member
0 Kudos

Hi,

I am using Crystal reports XI and oracle as the database.

I have developed a crystal reports in develpment environment. Now I want to deploy/move this report to another environment.

When I go to Database Extpert - Set Datasource Location and try to to update the datasource (which is an oracle stored procedure in my case)

I get an error:

Data object cannot be opened/accessed.

I am using Microsoft OLE DB Provider for Oracle driver to connect to Oracle database.

What am I doing wrong?

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Hi,

When I use the "Oracle Provider For OLE DB driver." to bind the store procedure with the report through visual studio, I am getting the following message. could any body help?

PLS 00306 - Wrong Number of Type or Arguments in call to SP XXXX

But this is the same stored procedure which binds successfully through Mircosoft OLE DB driver. But I gives me this error when I use Oracle OLE DB driver

My Stored procedure is something like this.

CREATE OR REPLACE PACKAGE GroupsPackage

AS

TYPE CURSOR_TYPE IS REF CURSOR;

PROCEDURE usp_SelectGroups (int intInputI IN ,Dresults_cursor OUT CURSOR_TYPE);

END;

/

CREATE OR REPLACE PACKAGE BODY GroupsPackage

AS

PROCEDURE usp_SelectGroups (int intInputI IN ,results_cursor OUT CURSOR_TYPE)

AS

BEGIN

OPEN results_cursor FOR

SELECT GroupID, GroupName, GroupDescription, LastUpdateDate

FROM Groups

ORDER BY GroupName;

END;

END;

Former Member
0 Kudos

Hi

You can try the below:

Option 1:

To use ODBC Driver instead of OLEDB to over come the issue.

Option 2:

What is the service pack level of CR on your machine? Try installing the latest service pack

Options 3: Test the issue on CRXIR2 SP2.

Hope this helps!!

Regards

Sourashree

Former Member
0 Kudos

I know the version of crystal report. It is XI, but How to check which service pack is installed?

Former Member
0 Kudos

Hi

Open Add/Remove Programs and check if any service packs for crystal reports are installed there.

You can also let us know the version number by "Help -> About" in Crystal Reports.

Regards

Sourashree

Former Member
0 Kudos

No Service packs are installed on my machine.

Former Member
0 Kudos

Hi Amit

Please try the steps mentioned in the above post.

Regards

Sourashree

Former Member
0 Kudos

Sorry to bug you guys..

I am facing some issues

1. I do not have the Oracle provider for OLE DB driver by default listed in my DSN list.

2. I added the Oracle provider for OLE DB driver (Oracle in OraClient10g_Home1) in my case.

3. After adding I checked the checkbox Enable resultsets.

Then I tried to add the stored procedure using this driver.

But Still getting the same error.

Any suggestions?

0 Kudos

Hi Amit,

You are mixing drivers. OLE DB does not have a DSN. In CR Designer click on New report and choose the OLE dB database option, then choose Oracles OLE DB provider. Now you should see your SP's.

You can use ODBC to connect through OLE DB but that's adding another layer. I also recommend not using Microsofts ODBC driver for Oracle. On the start page of Cr DEsigner you ahve the option to use Data Direct's ODBC drivers which we fully support. Use these rather than Microsofts driver or use Oracle's ODBC driver also.

If you still can't then in the Data connection wizard right click on the driver and choose Options and add filtering for your user name etc. Check off Tables and Views. CR has a limit to the number of DB info it can display, dependant on system resources.

Thank you

Don

Former Member
0 Kudos

Hi Amit

Try using Oracle ODBC Driver instead of OLE DB Provider for Oracle driver. Thanks.

Regards

Girish Bhosale

Former Member
0 Kudos

Thank you for the suggesion.

When I use the "Oracle Provider For OLE DB driver." to bind the store procedure with the report, I am getting the following message.

PLS 00306 - Wrong Number of Type or Arguments in call to SP XXXX

But this is the same stored procedure which binds successfully through Mircosoft OLE DB driver. But I gives me this error when I use Oracle OLE DB driver

My Stored procedure is something like this.

CREATE OR REPLACE PACKAGE GroupsPackage

AS

TYPE CURSOR_TYPE IS REF CURSOR;

PROCEDURE usp_SelectGroups (int intInputI IN ,Dresults_cursor OUT CURSOR_TYPE);

END;

/

CREATE OR REPLACE PACKAGE BODY GroupsPackage

AS

PROCEDURE usp_SelectGroups (int intInputI IN ,results_cursor OUT CURSOR_TYPE)

AS

BEGIN

OPEN results_cursor FOR

SELECT GroupID, GroupName, GroupDescription, LastUpdateDate

FROM Groups

ORDER BY GroupName;

END;

END;

/

Former Member
0 Kudos

Hi

These errors appear if the ODBC data source in use has the 'Procedure Returns Results' check box cleared in the ODBC Data Source Administrator.

To resolve the errors:

1. On the 'Start' menu, click 'Settings' > 'Control Panel' > 'Administrative Tools' > 'Data Sources (ODBC)'.

2. In the 'ODBC Data Source Administrator' dialog box, click the DSN then click the 'Configure' button.

3. On the 'Advanced' tab, select the 'Procedure Returns Results' check box.

4. Click 'OK' to close the 'ODBC Oracle Driver Setup' dialog box, then click 'OK' to close the 'ODBC Data Source Administrator' dialog box.

Upon completing these steps, the report will run successfully.

Hope this helps!!!

Regards

Sourashree