BookmarkSubscribeRSS Feed
Anu123
Calcite | Level 5

Dear All,
I am trying to transfer csv files into Azure datalake storage by using Azcopy from a SAS program but this is not working.
If am exciting the same azcopy command directly command prompt the files are transferring successfully.
So this issue is only when i call azcopy command from SAS.

rc = system ("azcopy copy "source_directory/file_name.csv" "SAS_token" options;" );


ERROR 388-185: Expecting an arithmetic operator.

ERROR 202-322: The option or parameter is not recognized and will be ignored.

ERROR 22-322: Syntax error, expecting one of the following: !, !!, &, (, *, **, +, ',', -, /, <, <=, <>, =, >, ><, >=, AND, EQ, GE,
GT, LE, LT, MAX, MIN, NE, NG, NL, OR, [, ^=, {, |, ||, ~=.

ERROR 390-185: Expecting an relational or arithmetic operator.

ERROR 76-322: Syntax error, statement will be ignored.

ERROR 180-322: Statement is not valid or it is used out of proper order.

NOTE: Character values have been converted to numeric values at the places given by: (Line):(Column).
52:2
NOTE: The SAS System stopped processing this step because of errors.

 

 

1 REPLY 1
Kurt_Bremser
Super User

The SYSTEM function expects a single character value as parameter, you are trying to feed it what SAS sees as an expression with missing operators.

Your call should look like this:

rc = system("azcopy copy source_directory/file_name.csv SAS_token options");

 

How to Concatenate Values

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 1 reply
  • 1449 views
  • 0 likes
  • 2 in conversation