[resolved] tDotNetRow unsatisfied link error

One Star

[resolved] tDotNetRow unsatisfied link error

I am having trouble using tDotNetRow - it is always throwing a java.lang.UnsatisfiedLinkError error.
For troubleshooting, I created a very simple job and associated .net assembly.
job.jpg shows the simple job, that only contains a tDotNetRow component.
component.jpg shows the properties of the tDotNetRow component.
class.jpb shows the .net class (with its namespace) as configured in the component. The project containing the class is .net2.0 with no other dependencies.
And finally, below is the error when attempting to run the job in TOS:
Starting job DotNetTest at 16:16 25/01/2012.
connecting to socket on port 3621
connected
2012-01-25 16:16:17|NSKn9t|NSKn9t|NSKn9t|5876|MATRIX_PROCESS|DotNetTest|_cQKuEEcSEeGLHLxvu_ahdQ|0.1|Default||begin||
Exception in thread "main" java.lang.Error: java.lang.UnsatisfiedLinkError: no janet-win32 in java.library.path
at matrix_process.dotnettest_0_1.DotNetTest.tDotNETRow_1Process(DotNetTest.java:416)
at matrix_process.dotnettest_0_1.DotNetTest.runJobInTOS(DotNetTest.java:4534)
at matrix_process.dotnettest_0_1.DotNetTest.main(DotNetTest.java:4395)
Caused by: java.lang.UnsatisfiedLinkError: no janet-win32 in java.library.path
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
2012-01-25 16:16:17|NSKn9t|NSKn9t|NSKn9t|5876|MATRIX_PROCESS|DotNetTest|_cQKuEEcSEeGLHLxvu_ahdQ|0.1|Default|tDotNETRow_1|begin||
disconnected
at java.lang.System.loadLibrary(Unknown Source)
at org.talend.net.Object.loadLibrary(Object.java:201)
at org.talend.net.Object.<clinit>(Object.java:164)
at matrix_process.dotnettest_0_1.DotNetTest.tDotNETRow_1Process(DotNetTest.java:379)
... 2 more
Job DotNetTest ended at 16:16 25/01/2012.

Accepted Solutions
One Star

Re: [resolved] tDotNetRow unsatisfied link error

Scratch that, found the answer in the wiki:
talendforge.org/wiki/doku.php?id=doc:dotnet
One Star

Re: [resolved] tDotNetRow unsatisfied link error

Bug raised and fixed for System.ArgumentNullException: Value cannot be null:
http://jira.talendforge.org/browse/TDI-19427

All Replies
One Star

Re: [resolved] tDotNetRow unsatisfied link error

Scratch that, found the answer in the wiki:
talendforge.org/wiki/doku.php?id=doc:dotnet
One Star

Re: [resolved] tDotNetRow unsatisfied link error

I have tried this solution but, it didn't helped me much. Actually a bit lengthy , I am getting confusing. Please let me know if you solve your issues.
One Star

Re: [resolved] tDotNetRow unsatisfied link error

From the wiki, I downloaded the .net 4.0 zip, and placed:
janet-win64.dll in C:\Windows\System32
janet-win32.dll in C:\Windows\SysWOW64
If your OS is 32 bit, you should only place:
janet-win32.dll in C:\Windows\System32
After that, my jobs successfully run.
However I have just noticed that if the object I am trying to instantiate has a base class located in a different assembly, I get a different error:
System.ArgumentNullException: Value cannot be null.
Parameter name: type
at System.Activator.CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes)
at Java_org_talend_net_Object_createInstanceLib(JNIEnv_* env, _jobject* _this, _jstring* className, _jobject* jAssembly, _jobjectArray* params, _jobjectArray* types)
I'm going to start a new post (or bug?) for this one.
In summary, I was able to:
- instantiate an object with tDotNetRow (the object had a default empty constructor)
- execute an instance method with no parameters
- execute an instance method with parameters (order of parameters specified in the component properties must match the order of declaration in the method itself)
- execute a static method (without the need for instantiation etc)
I am unable to:
- instantiate an object where its base class is located in a different assembly, even when that assembly is in the same folder location as the one specified in tDotNetRow
One Star

Re: [resolved] tDotNetRow unsatisfied link error

Bug raised and fixed for System.ArgumentNullException: Value cannot be null:
http://jira.talendforge.org/browse/TDI-19427