Seven Stars

.Net and .Net Core from Talend DI 6.4.1 ?

Hello 

 

I am using free-edition Talend DI 6.4.1

 

I am aware that this version on Talend can call C#.Net methods via tDotNetInstantiate and tDotNetRow 

 

The example I see in the Components Guide for tDotNetInstantiate and tDotNetRow refers to using .Net Framework and requires VC++ redistributable.

I have a number of questions:

 

1. I can not find JANET-WIN64.dll anywhere. I have several versions of VC++ redistributable installed (up to VC 2017) and searched the C: for this DLL. 

It does not exist in system32 either. The documentation says it is inside VC++. 

 

2. Does Talend 6.4.1 only support calling C#.Net for Framework ? Can I call classes/methods for .Net Core 2.0+ ?

 

thanks!

Tags (3)
1 ACCEPTED SOLUTION

Accepted Solutions
Seven Stars

Re: .Net and .Net Core from Talend DI 6.4.1 ?

I solved it.

To help others:

I used Windows Dependency Walker utility to analyse janet-win64.dll and it showed that it currently uses VC++ 2010 64-bit redistributable.

This fixed the problem.

So the Talend error message is completely wrong.

If new version of janet-win64.dll uses more recent VC++ then it needs to be installed.

There is nothing I could see in Talend documentation about it.

 

 

3 REPLIES
Seven Stars

Re: .Net and .Net Core from Talend DI 6.4.1 ?

Found this one with help from Microsoft VC++ forums:

 

http://www.talendforge.org/wiki/doku.php?id=doc:dotnet

 

FWIW - it is very disappointing that Talend documentation has so many basic errors in it.

 

 

 

Seven Stars

Re: .Net and .Net Core from Talend DI 6.4.1 ?

I managed to get it working in Dev PC but when I deploy it on Prod Server then I get error:

 

janet-win64.dll: %1 is not a valid Win32 application

 

Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\Windows\System32\janet-win64.dll: %1 is not a valid Win32 application
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(Unknown Source)
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
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 testdotnet.testdotnetcsharp_0_1.testdotnetcsharp.tDotNETInstantiate_1Process(testdotnetcsharp.java:377)
at testdotnet.testdotnetcsharp_0_1.testdotnetcsharp.runJobInTOS(testdotnetcsharp.java:1324)
at testdotnet.testdotnetcsharp_0_1.testdotnetcsharp.main(testdotnetcsharp.java:1173)

 

Sadly it does not tell me which exe/dll on Windows is the problem.

Can anyone help me debug this error ?

 

The wiki article does not cover deployment issues.

 

Could this error be due to a problem with Visual C++ redistributable version?

What version of VC++ redistributable is needed for Talend 6.4.1 ?

I have several of them installed in DEV but not all are installed in Prod.

 

Thank you.

 

Seven Stars

Re: .Net and .Net Core from Talend DI 6.4.1 ?

I solved it.

To help others:

I used Windows Dependency Walker utility to analyse janet-win64.dll and it showed that it currently uses VC++ 2010 64-bit redistributable.

This fixed the problem.

So the Talend error message is completely wrong.

If new version of janet-win64.dll uses more recent VC++ then it needs to be installed.

There is nothing I could see in Talend documentation about it.