I'm using v9.4 on a 32-bit Windows machine and I have many fsedit screens and a few AF catalogs. We are upgrading our computers to 64 bit and these catalogs will not work in the 64-bit operating system, even though it is still SAS v9.4. The catalogs are in a library named "Fish" and I attempted to create a transport file using the CPORT procedure:
filename trans 'c:\fish\first_try.cpt';
proc cport lib=transfer file=trans memtype=catalog;
run;
It seemed to work correctly. The log looked good and it created a large file in the FISH directory.
I transfered this file (first_try.cpt) to the FISH directory on a 64-bit operating system and used the CIMPORT procedure to import:
filename trans 'c:\fish\first_try.cpt';
proc cimport infile=trans lib=fish;
run;
However, this is where it seems to break down. I get the message: "File Fish.XXXXX.CATALOG was created for a different operating system. Unable to open catalog Fish.XXXXX"
Can anyone advise me on the proper way to convert these types of catalogs from 32-bit to 64-bit?
Thanks,
Tim
Your error message makes it look like that you also copied the 32 bit catalog and not just the transport file generated by PROC CPORT. Delete or rename to catalog file that the error refers to and try the PROC CIMPORT again.
Also make sure to move the transport file as a binary file. Sometimes SAS transport files look like text files to FTP/SFTP tools that try to autodetect if the file is ASCII and BINARY and they can cause the file to be corrupted. But if that had happened you should have received a different error message.
There is no upgrade path from 32bit binary files to 64bit binary files. You need to re-compile from source. This is a very good examplpe of why not to rely on proprietary file formats, we have had exactly the same issues with macro libraries and format catalogs.
Does "recompile from source" mean that we have to start totally from scratch on the 64 bit machines?
In terms of compiled macro catalogs, which is what we had the most of, it would have been re-compiling the source text files into a new catalog on the 64bit system. FSEDIT and AF catalogs, well the AF catalogs you can pull the source code out and then re-compile. However both those are really old, suprised they are still being used. Perhaps a good time to look at migrating to a new system either SAS or thiird party. Can't really help any further as haven't used AF for years.
Have a look here http://support.sas.com/kb/38/339.html
You need to create the transport file using SAS9.4 32bit version
Yes, these are the instructions I was following. I also tried the Proc Migrate with the same result. Thanks.
Your error message makes it look like that you also copied the 32 bit catalog and not just the transport file generated by PROC CPORT. Delete or rename to catalog file that the error refers to and try the PROC CIMPORT again.
Also make sure to move the transport file as a binary file. Sometimes SAS transport files look like text files to FTP/SFTP tools that try to autodetect if the file is ASCII and BINARY and they can cause the file to be corrupted. But if that had happened you should have received a different error message.
Ok. I think it worked and my fsedit screens and AF catalog are now working in 64 bit. I created a new library that was empty then CIMPORTed the transfer file into it. Thanks!
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.