3
votes

Environment: Windows 7, MarkLogic 8, mlcp 8.0-5

Running an mlcp import in command line mode works correctly using admin/admin credentials but for an other account where the password has an exclamation mark the following error [edited] is generated:

17/07/18....ERROR contentpump.ContentPump: Error parsing command arguments:
17/07/18....ERROR contentpump.ContentPump: Missing required option: 
input_file_path.

Code used:

mlcp.bat import -mode local -host localhost -database MyDb -port 8000  
-username MyUser -password MyPwd! -input_file_path D:/MyProject/documents 
-output_collections urn:ABC:mydocuments

Swapping the positions of the "-output_collections" and "-input_file_path" parameters generates the following incorrect response:

17/07/18 14:49:14 ERROR contentpump.LocalJobRunner: java.io.IOException: 
com.marklogic.xcc.exceptions.RequestPermissionException: Authorization 
failed for user

Is this an issue with the operation of the "hadoop-mapreduce-client-core library" and is there an option not involving a password change?

1
Have you tried escaping the exclamation point? Most command lines have ways to escape special characters. I'm not sure how you do this in windows. You could try surrounding it in double quotes.Sam Mefford
Apologies for the delay in replying. I haven't on the basis I don't know what escapes are valid.Guy Yeates

1 Answers

2
votes

As Sam said, you probably need to escape the bang. If that seems like too much trouble, you can also use an options file instead of fighting with the shell interpolation. See the following topic for details and examples:

http://docs.marklogic.com/guide/mlcp/intro#id_36150