Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Join us in Bucharest on Sept 18th for Qlik's AI Reality Tour! Register Now
cancel
Showing results for 
Search instead for 
Did you mean: 
sjm
Contributor
Contributor

Problem with tDotNet Components

Hi,

I am trying out the following components tDotNetInstantiate and tDotNetRow (Talend Open Studio 7.2). I have successfully completed the examples in Talend documentation (https://help.talend.com/reader/jomWd_GKqAmTZviwG_oxHQ/uxiSSj3xwcSy5zNMKgnfkA?section=dotnet-tdotnetr...)

 

However if I publish a DLL from Visual Studio in 32 bit (x86) rather than 64 bit and try and reference this, I receive an error message..

System.BadImageFormatException: Could not load file or assembly 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/HelloWorld.dll' or one of its dependencies. is not a valid Win32 application.

Is it possible to run a 32 bit dll from 64 bit TOS in this example? The reason I ask is I have a requirement to access a legacy dll for a data process.

thanks!

Labels (2)
8 Replies
fdenis
Master
Master

did you install corresponding runtime?

"To use this component, you must first install the runtime DLLs, for example janet-win32.dll for Windows32-bit version and janet-win64.dll for Windows 64-bitversion, from the corresponding Microsoft Visual C++ Redistributable Package. This allows you to avoid errors like the Unsatisfied Link Error on dependent DLL. "


regards
sjm
Contributor
Contributor
Author

Hi,

thanks for your reply, yes I did do that. Although I wasn't sure of the actual installation process, I just placed a copy of these files in C:\Windows\System32 and the bin folder of the Java installation, where do they actually need to be installed?

The tDotNet components do work with a simple dll I created. I think the problem is if I create a dll as 32 bit and use that in the components (which is what I need to do) it doesn't seem to like the 64 bit environment (Windows/Talend/Java) I am trying to run it in ?

pbz1983
Contributor II
Contributor II

To add a little value to the thread, I have issues since upgrading from TOS 6.5 > 7.2.1 + 7.3.1 (and also multiple M versions in between).

In my 'live' projects I pass data via tRowGenerator to the tDotNetRow component and since v7 it results in error.

 

example;

0683p000009MA0m.png

System.InvalidCastException: Unable to cast object of type 'System.NullReferenceException' to type 'System.Reflection.Assembly'.
at Java_org_talend_net_Object_createInstanceLib(JNIEnv_* env, _jobject* _this, _jstring* className, _jobject* jAssembly, _jobjectArray* params, _jobjectArray* types)

 

I believe the values are not being passed through to the component.

 

Please can this be investigated further..........

Anonymous
Not applicable

i am also getting same issue, someone please help

Anonymous
Not applicable

i also upgraded the studio version 7.2 to 7.3 i placed the janet dlls in java run time as well as windows/system32 

i have installed vc++ redistributable and .net frame work previous it is working without any issues while running in 7.3  getting this error  can anyone help me on this

 

[WARN ]: org.eclipse.jetty.server.handler.ContextHandler - Empty contextPath
System.InvalidCastException: Unable to cast object of type 'System.NullReferenceException' to type 'System.Reflection.Assembly'.
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=9136, tid=0x0000000000001f14
#
# JRE version: Java(TM) SE Runtime Environment (8.0_241-b07) (build 1.8.0_241-b07)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.241-b07 mixed mode windows-amd64 compressed oops)
# Problematic frame:
# C [KERNELBASE.dll+0x39159]


Capture.PNG
diemerga
Contributor
Contributor

Same problem here, i resolved it by using the dll from https://talend-update.talend.com/nexus/content/repositories/libraries/org/talend/libraries/janet-dll_40/1.0/janet-dll_40-1.0.zip. Probably it is a specific .net version dependency and this is a newer builded...

Ram12
Contributor
Contributor

This solution helped. Thank you very much.

MisterJack
Contributor
Contributor

Hello,

 

Before use the good version of janet i had this error:

System.InvalidCastException: Unable to cast object of type 'System.NullReferenceException' to type 'System.Reflection.Assembly'.

 

I used the specific janet dll but i had again an error:

System.InvalidCastException: Unable to cast object of type 'System.AccessViolationException' to type 'System.Reflection.Assembly'.

 

To resolve it, in Talend Studioin the module panel, make sure you use janet-java-1.2.jar for tDotnet component. In my case I used the janet-java-1.1.jar and it was the problem.

 

Hope it helps you.