2015-11-04 6 views
0

наша проблема заключается в следующем:jt400 Read File Из КСФ с пользователем без пароля

Мы должны подключиться к ISeries с jt400 и прочитать файл в МФС. Одним из требований является то, что задание работает в QBatch с пользователем без пароля. Наш код выглядит следующим образом:

//This wy we connect to the Iseries with the job credentials in this case 
    //user withou password 
AS400 as400 = new AS400(); 
IFSFile file = new IFSFile(system, path); 

    //This line throws the AS400SecurityException 
IFSFileInputStream fis = new IFSFileInputStream(file,IFSFileInputStream.SHARE_NONE); 

Последняя строка выдает это исключение: com.ibm.as400.access.AS400SecurityException: Пароль не установлен

Мы искали в Интернете, но couldn' т найти кого-нибудь с таким же проблемой

Спасибо за чтение нашего вопроса

+0

AFAIK, я не вижу, как это было бы возможно с jt400, без пользователя/пароль, у вас нет доступа к серверу ISeries. Некоторое чтение: http://www.ibm.com/developerworks/ibmi/library/i-ifs/. Один из вариантов может заключаться в доступе к нему с использованием открытого сетевого ресурса, но это небезопасно и требует некоторой настройки на iSeries –

+0

. Я путают ... вы говорите, что вам нужно ** для подключения к iSeries ** и что ** работа выполняется в QBATCH ** Так ваше приложение java работает на одном IBM i и подключается к другому? – Charles

+0

Если вы получаете доступ к IFS в той же системе, вы можете просто использовать стандартный Java IFSFileInputStream. – jweberhard

ответ

0

Попробуйте подключиться к хосту с помощью

AS400 as400 = new AS400("localhost","*CURRENT","*CURRENT"); 

См http://javadoc.midrange.com/jtopen/com/ibm/as400/access/AS400.html#AS400(java.lang.String,%20java.lang.String,%20java.lang.String)

+0

При кодировании как 'AS400 as400 = новый AS400();', он должен по умолчанию использовать значение * CURRENT/* CURRENT. – user2338816