Metalteck
asked on
Failed to open connection error in Crystal Reports
I'm trying to view the sql for a report I created at another job.
The db at the old job was oracle, while at the new job its sql.
When I try to view the sql code, I get a "Failed to open connection ORA-12154" error.
Any suggestions how I can get around this?
The db at the old job was oracle, while at the new job its sql.
When I try to view the sql code, I get a "Failed to open connection ORA-12154" error.
Any suggestions how I can get around this?
ASKER
I'm trying to open it while in design mode and I'm using CR 2008.
The only clue I could find: Is the file marked as read-only when you view its properties in Windows Explorer?
Are the Oracle and SQL datbabases with the same structure ?
ASKER
The file was not read only. I changed it, but I still couldn't view the code. They are the same structure.
You can't view the SQL unless you can connect to the database.
mlmcc
mlmcc
If the Oracle and SQLServer databases are with the same structure you can set the report to use the SQL database and then go and check SQL. To switch to the SQL database select menu Database-> Set Database location , create a new connection the SQLDatabase and update the existing connection to the new one
ASKER
I tried doing that, but get an Failed to retrieve data from database details 42000.
'SUBSTR' is not a recognized built in function name.
Any way I can get past this error?
'SUBSTR' is not a recognized built in function name.
Any way I can get past this error?
Is the report based on a command or tables?
mlmcc
mlmcc
ASKER
On a command.
SUBSTR in ORACLE is probably equivalent of SUBSTRING in SQLServer. You need to update the Command SQLto SQLServer syntax. What is the purpose to get the SQL from the repor6t if it is based on Command? You can get the Command SQL
ASKER
I need to duplicate the same report but instead of Oracle in SQL. I need to find out which tables I used and what logic I used. I'm not going to try and run that report, I just want to view the sql code.
Can you upload the report here ?
The command will show you the full SQL. If you don't have anything else ( other commands, tables etc.) the command should contain everything you need.
The command will show you the full SQL. If you don't have anything else ( other commands, tables etc.) the command should contain everything you need.
You can't see the SQL of a command unless you have the database available
mlmcc
mlmcc
ASKER
Here is the rpt file
Sorry , I cannot see it. Is it attached ?
ASKER
Sorry, Here it is.
E--dl-Reports-Req-Pending-Approval-2.rpt
E--dl-Reports-Req-Pending-Approval-2.rpt
SELECT distinct
WFWUQUEUE.WORKUNIT,
WFWORKUNIT.WORK_TITLE,
SUBSTR(WFWORKUNIT.KEY_STRI NG,6) REQNUMBER,
WFWORKUNIT.WF_RM_ID REQUESTER,
WFWORKUNIT.WORK_CAT_VALUE,
WFQUETASK.TASK,
WFUSERCAT.WF_RM_ID APPROVER_ID,
Z.FIRSTNAME,
Z.LASTNAME
FROM LOGAN.WFWORKUNIT,
LOGAN.WFWUQUEUE,
LOGAN.WFQUETASK,
LOGAN.WFUSERCAT,
PROD.ZZWEBUSER Z
WHERE (WFWUQUEUE.WORKUNIT = WFQUETASK.WORKUNIT)
AND (WFWUQUEUE.PROCESS_ID = WFQUETASK.PROCESS_ID)
AND (WFWORKUNIT.WORKUNIT = WFWUQUEUE.WORKUNIT)
AND (WFWUQUEUE.CATEGORY_VALUE = WFUSERCAT.WORK_CAT_VALUE)
AND (WFQUETASK.TASK = WFUSERCAT.TASK)
AND (WFQUETASK.R_STATUS = 1)
AND (Z.USERID = WFUSERCAT.WF_RM_ID)
--and (WFWORKUNIT.WF_RM_ID = '&REQUESTER')
WFWUQUEUE.WORKUNIT,
WFWORKUNIT.WORK_TITLE,
SUBSTR(WFWORKUNIT.KEY_STRI
WFWORKUNIT.WF_RM_ID REQUESTER,
WFWORKUNIT.WORK_CAT_VALUE,
WFQUETASK.TASK,
WFUSERCAT.WF_RM_ID APPROVER_ID,
Z.FIRSTNAME,
Z.LASTNAME
FROM LOGAN.WFWORKUNIT,
LOGAN.WFWUQUEUE,
LOGAN.WFQUETASK,
LOGAN.WFUSERCAT,
PROD.ZZWEBUSER Z
WHERE (WFWUQUEUE.WORKUNIT = WFQUETASK.WORKUNIT)
AND (WFWUQUEUE.PROCESS_ID = WFQUETASK.PROCESS_ID)
AND (WFWORKUNIT.WORKUNIT = WFWUQUEUE.WORKUNIT)
AND (WFWUQUEUE.CATEGORY_VALUE = WFUSERCAT.WORK_CAT_VALUE)
AND (WFQUETASK.TASK = WFUSERCAT.TASK)
AND (WFQUETASK.R_STATUS = 1)
AND (Z.USERID = WFUSERCAT.WF_RM_ID)
--and (WFWORKUNIT.WF_RM_ID = '&REQUESTER')
There is also a record selection formula
{Command.REQUESTER} = {?Requester Id}
I would suggest you to add a parameter inside the command and handle the filtering there
{Command.REQUESTER} = {?Requester Id}
I would suggest you to add a parameter inside the command and handle the filtering there
ASKER
Thanks so much. What did you do in order to view the code.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Which version of Crystal?