How to find the version of a Crystal Report rpt file? - crystal-reports

I have a Crystal Report file from an old version (unfortunately I don't know and cannot find out easily which version was used) and I need to do changes in that RPT file. I would like to find out which version is the RPT file so I can install the proper version of the editor.
If I install the all new and latest version, when I save the RPT file it tells me that the original file was from an old version (does not specify which) and that the save will upgrade it to the latest format, thus previous version of the application will not be able to use it. Not much help there.
I also checked all around Crystal Report to find a "Properties" or "Information" window, without success.
Is there a way to know which version a RPT file belongs to?

In SAP Crystal Reports: Report / Performance Information / Report Definition
should show File Format Schema

Is the version showed at the path mentioned in the above post the version of the file or the version of the software installed in the system? The file might have been develpoed in a lower version of Crystal Report tool and due to the upward compatibility it is opening up properly and showing the version of the tool and not the version of the file on which it is developed.

Here is a picture of the information by going to Report / Performance Information / Report Definition
This shows it is version 10.2

Related

Connecting DevExpress XtraReports with PostgreSQL in Visual Studio

I have DevExpress XtraReports v18.1.6 version and PostgreSQL 4 v3.3. Visual studio 2017 v15.3.3 and Windows 7.
Here is scenario: In my project, I have some reports writen in devexpress v17.2. I could not run those reports, because I could not download exactly that version 17.2, I install new 18.1.6. Then in Visual studio main menu "DevExpress" I click on "Project converter to 18.1.." and that action replace my old dlls v17.2 with new 18.1. After that I could run reports (see it in designer).
But problem is with databse connection. I created connection string with "XpoProvider=Postgres".
Every time when I want to get data in report, or rebuild result shema, or manage queries I get error:
Could not load file or assembly 'System.Threading.Tasks.Extensions, Version=4.2.0.0,...
I have that reference, exactly that version. Also I tried with new versions of threading.tasks but unsuccessfully.
My version of Npgsql.dll was 2.2.7, I tried with 3.2.5 (read from some devexpres documentations). Also tried with new 4.0.3.
Did anyone have a similar problem?
we had the same issue when using the DevExpress (18.1) Report Designer with Visual Studio 2017.
I know this might not be an ideal or the best solution but at least it worked for us:
I used ProcMon to determine where it was looking for that specific File, for me it turned out to be C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\Extensions\hhfnlhs1.kna
I downloaded the NuGet Package for System.Threading.Tasks.Extensions from NuGet (https://www.nuget.org/packages/System.Threading.Tasks.Extensions/)
I unzipped the Package and stored the DLL at that path from step 1
I had to active "loadFromRemoteSources" in my machine-config (see https://learn.microsoft.com/en-us/previous-versions/dotnet/netframework-4.0/dd409252(v=vs.100))
I had to put another DLL from NuGet (https://www.nuget.org/packages/System.Runtime.CompilerServices.Unsafe/4.5.2) into that folder from step 1
That's it - now I can access the DB again.

Input controls are not visible in hypelinked report of JR Server CP 4.7 and 5.0

I am using JasperReports Server CP 4.7 and imported all the files from JR Server 4.5 to new server. But I don't see the parameters if I click on any hyper-linked report, in case if hyperlinked report has any other input controls parameter. I cant see those input controls.
How can I solve this problem?
Is it a bug of JR Server 4.7?
I also have same problem with JR server 5.0.
After a long time I found the solution,solution is very simple just remove the repo from hyperlink path.
"repo:/path of hyperlinked report"
hyperlink will be :-
"/path of hyperlinked report".

Jaspersoft ireport designer 4.5.1 /4.6.0 & hive

I am trying to design a report using hive connection.
I created hive connection and tested it is working ok.
Is there anything i am doing wrong. I am new to iReport.
jdbc:hive://192.168.254.132:10000/default
I am using report designer, I typed in my HiveQL it gives REPORT_CONNECTION parameter not specified.
I have specified the hive connection.
i tried simple query, select * from iptable.
message:
net.sf.jasperreports.engine.JRException: Parameter "REPORT_CONNECTION" does not exist.
Level:
SEVERE
Stack Trace:
Parameter "REPORT_CONNECTION" does not exist.
com.jaspersoft.hadoop.hive.HiveFieldsProvider.getFields(HiveFieldsProvider.java:88)
com.jaspersoft.ireport.hadoop.hive.designer.HiveFieldsProvider.getFields(HiveFieldsProvider.java:32)
com.jaspersoft.ireport.hadoop.hive.connection.HiveConnection.readFields(HiveConnection.java:154)
com.jaspersoft.ireport.designer.wizards.ConnectionSelectionWizardPanel.validate(ConnectionSelectionWizardPanel.java:146)
org.openide.WizardDescriptor$7.run(WizardDescriptor.java:1357)
org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:572)
org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:997)
Well, this is a little embarrassing. The wizard worked fine in iReport 4.5.0. But it broke in 4.5.1, and somehow no one noticed it. Reports still work fine, so the bug evaded tests. It seems to affect only the Fields Provider. So it shows up in the wizard but not when running the report.
I uploaded a fixed version of the plugin seconds ago. You'll need to uninstall the existing Hadoop Hive plugin, then restart iReport, then install the updated plugin. Then all should be well.
Here's the general project link. Here's the new file linked directly. This should all be obsolete when the next version of iReport ships with the fixed Hive plugin.

cvc-complex-type.3.2.2 attribute 'uuid' is not allowed to appear in element 'jasperreport'

Downloaded iReport-4.6.0 for Linux and when creating a new report via the File->New... menu, the new report is not shown in the preview, but the error message cvc-complex-type.3.2.2 attribute 'uuid' is not allowed to appear in element 'jasperreport' instead.
The same error message happens even when choosing compatibility 4.5.0 in the options.
The same error message happens also when opening a report file that was being produced by other users of iReport-4.6.0 (Windows).
The report files have their schema to http://jasperreports.sourceforge.net/xsd/jasperreport.xsd, but this schema file doesn't mention any uuid.
What could be the problem?
In iReport Designer, in the options window you can change compatibility mode to the version you prefer.
For me if I put compatibility to jasperreport 3.5.1, when I save the report again, the uuid are all removed.
Regards
I found an answer:
I opened the JRXML file with notepad++ and did a "Search and Replace" of uuid="\w*-\w*-\w*-\w*-\w*", and selected REGULAR EXPRESSION, with empty string then all the occurrences of this wrong tag were removed.
Worked for me.
Open report in the notpad++ and just only remove uuid and it's number.. After You will compile proper and generate report.... I have same problem and I solveby this way..
I do not use Linux .But you create report use iReport Designer-xx. You add Same version jasperreport(jasperreport-XX) jar in your project.
I just suggested my coworker who also run into the problem this:
sed -i 's/ uuid="[^"]*"//g' $(find * -name \*.jrxml)
I don’t normally use sed(1)-i but she’s on GNU/Linux so it wasn’t a problem here. The more professional Unix way of solving this is:
find * -name \*.jrxml -print0 | while IFS= read -d '' -r file; do
ed -s "$file" <<-'EOF'
1,$g/ uuid="[^"]*"/s///g
w
q
EOF
done
(These four spaces are tabs, otherwise it won’t work, and you need mksh(1) or another shell that can read NUL-separated input.)
You could also use Perl:
find * -name \*.jrxml -print0 | xargs -0 perl -pi -e 's/ uuid="[^"]*"//g'
Or something like that, anyway, depending on your needs, your xargs(1), etc. ;-)
If you're using ireport 4.6 or greater, the best way to solve the issue with uuid is, use the similar ireport 4.6 or greater, as the uuid attribute is newly introduce from version 4.6.
otherwise If you remove the uuid manually from the jrxml file, the uuid will again be placed in corresponding tags on the next compilation...
This problem occurred in my case because of duplicated class path entries, more specifically entries from older versions of jasperreports-core-renderer.jar and jasperreports-extensions.jar (in Options -> Classpath).
These duplicated entries appeared after importing settings during an upgrade of iReport. Apparently this is due to a bug in iReport due to which old versions are not removed from the classpath.
So either avoid the import of settings from previous versions or manually remove outdated .jars.
I have a good easy solution.
I am supporting reports on Jasper Server 4.5, with Jasper Studio 5.5
In Jasper Studio, delete the server reference if there is one.
Recreate the connection. When you create the server connection, go to "Advanced Settings > Jasper Server Library Version" and select your server version from the list.
Open your report, check that the uuid tags have been removed, Deploy
In my case I just removed uuid="63f04b11-4b7e-4cf1-99b5-a5ec6db799d6"
I generated a sample report for testing it worked perfectly
So you can try by removing uuid=" "
You can always set the Compability to an older version, It worked for me.
Tools > Options > iReport > General > Compability
After this go to xaml and change any thing and save again then run report to remove all uuid .
Strictly speaking this fix is only for Jaspersoft Studio, however this question is the first result when searching for the attribute 'uuid' is not allowed error.
For Jasper Server version <= 4.5.0 and Jaspersoft Studio 6.11:
Right click on the jrxml file in the Project Explorer -> Properties -> Jaspersoft Studio -> Compatibility -> Source .jrxml Version -> JasperReports 4.5.0
Right click on the server in the Repository Explorer -> Edit JasperReports Server Connection -> Advanced Settings -> JasperReports Library Version -> JasperReports 4.5.0
The second step is important if you are using Jaspersoft Studio to publish to the server.

Changing assembly version with reflexil

I was trying out the Reflexil plugin for Reflector v7.4. Everything it promised about code change worked fine. Then I wanted to change some assembly attributes mainly the version and was successful when loading the assembly again in reflector and verifying. But when I saw the assembly in Windows Explorer it still showed the old assembly version. Please go through the images to verify the fact. What in the Thor's name is going on. Somebody please help.
Interesting one ... it has to do with managed vs. non managed worlds coliding. If you check this Stackoverflow answer out it may help you.
If you open your exe in Visual studio (Open->File then choose you .exe), you'll see the unmanaged version information. Reflexil is not changing it ... it is only changing the attribute values in the managed portion of the application.
You can see the detail if you go to scooter software and get beyond compare, compare the patched exe with the non-patched - by default it too shows the non-managed version information. You can however do a hex compare for more information -> go to Session -> Compare files using -> Hex Compare. In the middle of that compare, you'll see the managed .net version differences - but towards the end of the file past the area where the managed code and resources are, you'll see the unmanaged version information ... and it is unchanged after patching the attribute values using Reflexil.
If you have Visual Studio, you can change the versions by just opening the exe, going to the VERSION information and chaninging the values to what you want and clicking save.