copy activity from sql server to adls gen2 parquet format , getting below error

Akshay Kanade 0 Reputation points
2026-10-30T18:54:31.6566667+00:00

ErrorCode=Unknown,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=An unknown error occurred.,Source=Microsoft.DataTransfer.Common,''Type=JNI.JavaExceptionCheckException,Message=Exception of type 'JNI.JavaExceptionCheckException' was thrown.,Source=Microsoft.DataTransfer.Common.JavaUtils,'

SQL Server Integration Services
0 comments No comments

1 answer

Sort by: Oldest
  1. AI answer

    2026-10-30T18:56:09.01+00:00

    Configure a supported 64-bit Java runtime on every self-hosted Integration Runtime node and restart the IR service, because converting SQL Server rows into Parquet requires Java on the SHIR machine.^1^

    Configure Java for Parquet serialization

    A reliable documented configuration is 64-bit JDK 23:

    1. On every machine hosting a SHIR node, install the 64-bit JDK 23.
    2. Open System Properties → Advanced → Environment Variables.
    3. Under System variables, set:
      • JAVA_HOME = the JDK root, for example: C:\Program Files\Java\jdk-23
      • Add these entries to the system Path:
        • %JAVA_HOME%\bin
        • %JAVA_HOME%\bin\server
    4. Confirm that this file exists: C:\Program Files\Java\jdk-23\bin\server\jvm.dll
    5. Open services.msc and restart the Microsoft Integration Runtime service.
    6. Rerun the Copy activity.

    ADF locates a conventional JRE through the JavaSoft registry entry first and checks the system JAVA_HOME variable for OpenJDK. The Java architecture must match the 64-bit SHIR architecture.^1^

    If using OpenJDK instead, it requires SHIR 3.13 or later; JAVA_HOME must identify the OpenJDK installation containing jvm.dll and its accompanying assemblies. Restart SHIR after changing system environment variables.^1^

    If the same generic JNI error remains

    The supplied message does not include the Java inner exception needed to distinguish JVM startup, memory, schema, and data-conversion failures. Collect the SHIR activity logs:

    1. In ADF Studio, open Monitor → Pipeline runs.
    2. Select the failed pipeline and locate Activity runs.
    3. In the Error column, open the activity logs.
    4. Select Send logs.
    5. Upload the logs associated with the failed activity and retain the generated Report ID.^2^

    Search the detailed log for one of these branches:

    • java.lang.OutOfMemoryError or Java heap space: limit concurrent SHIR runs or provide more memory. If the SHIR version is earlier than 3.20.7159.1, upgrade it. On a machine with sufficient RAM, the documented JVM configuration example is a system variable named _JAVA_OPTIONS with value -Xms256m -Xmx16g; restart every SHIR node afterward.^3^
    • Cannot create JVM: JNI return code [-6]: inspect _JAVA_OPTIONS for invalid JVM arguments. Correct it to a valid value such as the documented example above, provided the machine has more than 8 GB of memory, and restart all SHIR nodes.^3^
    • Invalid or unsupported column names: map the sink columns to names without whitespace or the characters ,;{}()\n\t=.^3^
    • Missing jvm.dll or failure loading it: inspect
      HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment.
      Current Version must point to a matching subkey whose JavaHome identifies the installed runtime. Back up the registry before changing it. If Java configuration is correct but the DLL still cannot load, the SHIR troubleshooting guide identifies a missing Visual C++ runtime dependency as another possible condition.^2^

    If none of these signatures appears, submit the Report ID to Microsoft Support together with the failed activity run ID, SHIR version, and complete inner exception.


    References

    1. Parquet format in Azure Data Factory and Azure Synapse Analytics
    2. Troubleshoot self-hosted integration runtime
    3. Troubleshoot the Parquet format connector in Azure Data Factory and Azure Synapse
    AI-generated content may be incorrect. Read our transparency notes for more information.

    Was this answer helpful?

    1 person found this answer helpful.

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.