I have been loading data from SAS to oracle table using the proc append with libref. I only had few thousand records before but now I have to load million records. I tried adding bulkload to increase the load performance but I am getting an error. It loads fine without bulkload but takes long time.
libname mylib oracle user="xxxxxx" password="xxxxxx" path="xxxxxxx" dbclient_max_bytes=1 schema="xxxxx";
proc append base=mylib.ora_table(bulkload=yes sasdatefmt=(mydate=date9.));
ERROR: Insufficient authorization to access /opt/sasconfig/xxxxxxxxxxxxx
Does bulkload not work with proc append? Are there any other options I can use to load data to oracle table from SAS.
Thanks. Any suggestion is highly appreciated.
The error suggests that a particular config file (I assume you've put Xs over the actual name) your program is trying to access doesn't have the right permissions set. Show this error to your SAS adminstrator and get them to check and possibly fix the permissions.
An alternative explanation is that SAS is trying to write something to this folder when it shouldn't be. Perhaps there are other bulkload options you need to specify.
If you are doing bulkloading into Oracle then SAS needs to write control files. By default SAS may write to a location that you don't have permission to write to. This SAS Note might help you to set a writable folder location : https://support.sas.com/kb/16/328.html
For a load not using bulk-load also investigate libname options insertbuff and dbcommit. Increasing the default values can increase performance quite a bit.
For bulk-load make sure that you've got write permission to the directory where the text file for bulk-load gets created.
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.