.Net and .Net Core from Talend DI 6.4.1 ?

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!


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.

 

 


All 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.

 

 

Four Stars

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

Hi,

 

I am getting the same issue, even I have installed VC++ 2015 redistributable package in my machine and copied janet-win64.dll in 'C:/Windows/System32/' still getting the below exceptions.

 

Please help.

 

[statistics] connecting to socket on port 4063
[statistics] connected
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 System.Activator.CreateInstance(Type type, Object[] args)
at Java_org_talend_net_Object_createInstanceLib(JNIEnv_* env, _jobject* _this, _jstring* className, _jobject* jAssembly, _jobjectArray* params, _jobjectArray* types)
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (0xe0434352), pid=8768, tid=0x0000000000003c3c
#
# JRE version: Java(TM) SE Runtime Environment (8.0_181-b13) (build 1.8.0_181-b13)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.181-b13 mixed mode windows-amd64 compressed oops)
# Problematic frame:
# C [KERNELBASE.dll+0x3a388]
#
# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
#
# An error report file with more information is saved as:
# C:\Talend\TOS_DI-Win32-20180411_1414-V7.0.1\hs_err_pid8768.log
#
# If you would like to submit a bug report, please visit:
# http://bugreport.java.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

 

 

Regards

Bhupinder

Six Stars

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

Hi @Bhupinder,

did you solve your issue? I have exactly the same issue. After copying the dll's into the java-bin directory, I receive the following 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 System.Activator.CreateInstance(Type type, Object[] args)
at Java_org_talend_net_Object_createInstanceLib(JNIEnv_* env, _jobject* _this, _jstring* className, _jobject* jAssembly, _jobjectArray* params, _jobjectArray* types)
#
# A fatal error has been detected by the Java Runtime Environment:

Any help would be really much appreciated!

Tobias

15TH OCTOBER, COUNTY HALL, LONDON

Join us at the Community Lounge.

Register Now

2019 GARNER MAGIC QUADRANT FOR DATA INTEGRATION TOOL

Talend named a Leader.

Get your copy

OPEN STUDIO FOR DATA INTEGRATION

Kickstart your first data integration and ETL projects.

Download now

What’s New for Talend Summer ’19

Watch the recorded webinar!

Watch Now

Best Practices for Using Context Variables with Talend – Part 4

Pick up some tips and tricks with Context Variables

Blog

How Media Organizations Achieved Success with Data Integration

Learn how media organizations have achieved success with Data Integration

Read

Agile Data lakes & Analytics

Accelerate your data lake projects with an agile approach

Watch