This is an automated email from the ASF dual-hosted git repository.

hansva pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/hop.git


The following commit(s) were added to refs/heads/main by this push:
     new 8ef772090e Fix #4056 MySQL Bulk Load from File Action: manage 
connection through variables (#6133)
8ef772090e is described below

commit 8ef772090e528d28a091be4e689d78788daafc3a
Author: Sergio Ramazzina <[email protected]>
AuthorDate: Sun Dec 7 14:17:57 2025 +0100

    Fix #4056 MySQL Bulk Load from File Action: manage connection through 
variables (#6133)
---
 .../actions/mysqlbulkfile/ActionMysqlBulkFile.java   | 19 ++++++-------------
 .../mysqlbulkfile/ActionMysqlBulkFileDialog.java     |  3 ++-
 .../mysqlbulkfile/messages/messages_en_US.properties |  2 +-
 .../mysqlbulkfile/messages/messages_it_IT.properties | 20 ++++++++++----------
 4 files changed, 19 insertions(+), 25 deletions(-)

diff --git 
a/plugins/actions/mysqlbulkfile/src/main/java/org/apache/hop/workflow/actions/mysqlbulkfile/ActionMysqlBulkFile.java
 
b/plugins/actions/mysqlbulkfile/src/main/java/org/apache/hop/workflow/actions/mysqlbulkfile/ActionMysqlBulkFile.java
index 11e0c3242f..f2e11cd474 100644
--- 
a/plugins/actions/mysqlbulkfile/src/main/java/org/apache/hop/workflow/actions/mysqlbulkfile/ActionMysqlBulkFile.java
+++ 
b/plugins/actions/mysqlbulkfile/src/main/java/org/apache/hop/workflow/actions/mysqlbulkfile/ActionMysqlBulkFile.java
@@ -37,6 +37,7 @@ import org.apache.hop.core.variables.IVariables;
 import org.apache.hop.core.vfs.HopVfs;
 import org.apache.hop.i18n.BaseMessages;
 import org.apache.hop.metadata.api.HopMetadataProperty;
+import org.apache.hop.metadata.api.HopMetadataPropertyType;
 import org.apache.hop.metadata.api.IHopMetadataProvider;
 import org.apache.hop.resource.ResourceEntry;
 import org.apache.hop.resource.ResourceEntry.ResourceType;
@@ -107,7 +108,9 @@ public class ActionMysqlBulkFile extends ActionBase {
   @HopMetadataProperty(key = "addfiletoresult")
   private boolean addFileToResult;
 
-  @HopMetadataProperty(key = "connection")
+  @HopMetadataProperty(
+      key = "connection",
+      hopMetadataPropertyType = HopMetadataPropertyType.RDBMS_CONNECTION)
   private String connection;
 
   public ActionMysqlBulkFile(String n) {
@@ -216,12 +219,7 @@ public class ActionMysqlBulkFile extends ActionBase {
         }
 
         if (connection != null) {
-          DatabaseMeta databaseMeta = null;
-          try {
-            databaseMeta = DatabaseMeta.loadDatabase(getMetadataProvider(), 
connection);
-          } catch (Exception e) {
-            logError("Unable to load database :" + connection, e);
-          }
+          DatabaseMeta databaseMeta = 
parentWorkflowMeta.findDatabase(connection, getVariables());
 
           // User has specified a connection, We can continue ...
           try (Database db = new Database(this, this, databaseMeta)) {
@@ -432,12 +430,7 @@ public class ActionMysqlBulkFile extends ActionBase {
       IVariables variables, WorkflowMeta workflowMeta) {
     List<ResourceReference> references = 
super.getResourceDependencies(variables, workflowMeta);
     if (connection != null) {
-      DatabaseMeta databaseMeta = null;
-      try {
-        databaseMeta = DatabaseMeta.loadDatabase(getMetadataProvider(), 
connection);
-      } catch (Exception e) {
-        logError("Unable to load database :" + connection, e);
-      }
+      DatabaseMeta databaseMeta = parentWorkflowMeta.findDatabase(connection, 
getVariables());
       ResourceReference reference = new ResourceReference(this);
       reference
           .getEntries()
diff --git 
a/plugins/actions/mysqlbulkfile/src/main/java/org/apache/hop/workflow/actions/mysqlbulkfile/ActionMysqlBulkFileDialog.java
 
b/plugins/actions/mysqlbulkfile/src/main/java/org/apache/hop/workflow/actions/mysqlbulkfile/ActionMysqlBulkFileDialog.java
index aff5b6f862..d2118abdc2 100644
--- 
a/plugins/actions/mysqlbulkfile/src/main/java/org/apache/hop/workflow/actions/mysqlbulkfile/ActionMysqlBulkFileDialog.java
+++ 
b/plugins/actions/mysqlbulkfile/src/main/java/org/apache/hop/workflow/actions/mysqlbulkfile/ActionMysqlBulkFileDialog.java
@@ -155,7 +155,8 @@ public class ActionMysqlBulkFileDialog extends ActionDialog 
{
     wName.setLayoutData(fdName);
 
     // Connection line
-    wConnection = addConnectionLine(shell, wName, action.getConnection(), 
null);
+    DatabaseMeta databaseMeta = 
workflowMeta.findDatabase(action.getConnection(), variables);
+    wConnection = addConnectionLine(shell, wName, databaseMeta, null);
 
     // Schema name line
     // Schema name
diff --git 
a/plugins/actions/mysqlbulkfile/src/main/resources/org/apache/hop/workflow/actions/mysqlbulkfile/messages/messages_en_US.properties
 
b/plugins/actions/mysqlbulkfile/src/main/resources/org/apache/hop/workflow/actions/mysqlbulkfile/messages/messages_en_US.properties
index 23a0247f47..f833825636 100644
--- 
a/plugins/actions/mysqlbulkfile/src/main/resources/org/apache/hop/workflow/actions/mysqlbulkfile/messages/messages_en_US.properties
+++ 
b/plugins/actions/mysqlbulkfile/src/main/resources/org/apache/hop/workflow/actions/mysqlbulkfile/messages/messages_en_US.properties
@@ -20,7 +20,7 @@ ActionMysqlBulkFile.AddFileToResult.Tooltip=Select this 
option if you want to ad
 ActionMysqlBulkFile.Connection.Label=Database connection
 ActionMysqlBulkFile.ConnectionError2.DialogMessage=Please select a valid 
database connection first\!
 ActionMysqlBulkFile.Create_NewFile_IfFileExists.Label=Create new with unique 
name
-ActionMysqlBulkFile.Description=Load from a mysql table into a file
+ActionMysqlBulkFile.Description=Bulk export a MySQL table into a file
 ActionMysqlBulkFile.Do_Nothing_IfFileExists.Label=Do Nothing
 ActionMysqlBulkFile.DumpFileValue.Label=DUMPFILE
 ActionMysqlBulkFile.Enclosed.Label=Fields enclosed by
diff --git 
a/plugins/actions/mysqlbulkfile/src/main/resources/org/apache/hop/workflow/actions/mysqlbulkfile/messages/messages_it_IT.properties
 
b/plugins/actions/mysqlbulkfile/src/main/resources/org/apache/hop/workflow/actions/mysqlbulkfile/messages/messages_it_IT.properties
index f9ab267e21..3006dc881a 100644
--- 
a/plugins/actions/mysqlbulkfile/src/main/resources/org/apache/hop/workflow/actions/mysqlbulkfile/messages/messages_it_IT.properties
+++ 
b/plugins/actions/mysqlbulkfile/src/main/resources/org/apache/hop/workflow/actions/mysqlbulkfile/messages/messages_it_IT.properties
@@ -21,15 +21,15 @@ ActionMysqlBulkFile.AddFileToResult.Label=Aggiungi file al 
file dei risultati
 ActionMysqlBulkFile.AddFileToResult.Tooltip=Selezionare quest''opzione per 
aggiungere un file di output al file dei risultati. Consente di allegarlo ad 
una mail.
 ActionMysqlBulkFile.Connection.Label=Connessione database: 
 ActionMysqlBulkFile.ConnectionError2.DialogMessage=Per favore selezionare 
prima una connessione valida ad un database\!
-ActionMysqlBulkFile.Create_NewFile_IfFileExists.Label=Creare nuovo con nome 
univoco
-ActionMysqlBulkFile.Do_Nothing_IfFileExists.Label=Non far niente
+ActionMysqlBulkFile.Create_NewFile_IfFileExists.Label=Crea nuovo con nome 
univoco
+ActionMysqlBulkFile.Do_Nothing_IfFileExists.Label=Non fare niente
 ActionMysqlBulkFile.DumpFileValue.Label=DUMPFILE
 ActionMysqlBulkFile.Enclosed.Label=Campi racchiusi da: 
 ActionMysqlBulkFile.Error.Label=Un errore \u00E8 avvenuto durante 
l''esecuzione di questa action\: 
 ActionMysqlBulkFile.Fail_IfFileExists.Label=Fallito
 ActionMysqlBulkFile.FileExists1.Label=Il file di destinazione [
 ActionMysqlBulkFile.FileExists2.Label=] gi\u00E0 esiste\!
-ActionMysqlBulkFile.Filename.Label=Nome del file di destinazione: 
+ActionMysqlBulkFile.Filename.Label=Nome del file destinazione: 
 ActionMysqlBulkFile.FileNameChange1.Label=Nuovo file di output da creare [
 ActionMysqlBulkFile.FileResult.Group.Label=File dei risultati
 ActionMysqlBulkFile.Filetype.All=Tutti i file
@@ -37,29 +37,29 @@ ActionMysqlBulkFile.Filetype.Text=File di testo
 ActionMysqlBulkFile.HighPriority.Label=Alta priorit\u00E0: 
 ActionMysqlBulkFile.HighPriority.Tooltip=HIGH_PRIORITY d\u00E0 alla SELECT una 
pi\u00F9 alta priorit\u00E0 rispetto allo statement che aggiorna la tabella. 
Utilizzare quest''opzione per le query molto veloci e che vengono eseguite 
assieme.
 ActionMysqlBulkFile.IfFileExists.Label=Se il file esiste: 
-ActionMysqlBulkFile.LimitLines.Label=Limita alle...prime linee
+ActionMysqlBulkFile.LimitLines.Label=Limita alle prime n linee
 ActionMysqlBulkFile.LimitLines.Tooltip=Esporta nel file solo le prime ... 
linee.
 ActionMysqlBulkFile.LineTerminated.Label=Linee terminano con: 
 ActionMysqlBulkFile.ListColumn.Label=Nomi delle colonne: 
 ActionMysqlBulkFile.ListColumn.Tooltip=Lista i nomi delle colonne di 
<tableName> che sono impostate nel tuo file di dati, separate da 
virgole\r\ncolonna1, colonna2, ...
 ActionMysqlBulkFile.Name=Bulk load da MySQL nel file
-ActionMysqlBulkFile.Name.Default=Bulk load da MySQL nel file
+ActionMysqlBulkFile.Name.Default=Esporta in modalit\u00E0 bulk load una 
tabella MySQL in un file
 ActionMysqlBulkFile.Name.Label=Nome action: 
 ActionMysqlBulkFile.NoDatabase.Label=Nessuna connessione a database \u00E8 
definita.
-ActionMysqlBulkFile.NoFileName.Label=Nessun nome di file \u00E8 definito.
-ActionMysqlBulkFile.OptionEnclosed.Label=Optionally enclosed?
+ActionMysqlBulkFile.NoFileName.Label=Non \u00E8 stato definito nome di file.
+ActionMysqlBulkFile.OptionEnclosed.Label=Clausola Enclosed opzionale
 ActionMysqlBulkFile.OptionEnclosed.Tooltip=Se viene selezionata 
quest''opzione, viene utilizzato il carattere ENCLOSED BY solo per 
\r\nracchiudere i valori dalle colonne che hanno un tipo di dati stringa (come 
CHAR, BINARY, TEXT o ENUM) \r\naltrimenti tutti i campi sono racchiusi dal 
carattere ENCLOSED BY.
 ActionMysqlBulkFile.OutDumpValue.Label=Tipo: 
 ActionMysqlBulkFile.OutFileValue.Label=OUTFILE
 ActionMysqlBulkFile.SchemaName.Label=Schema di origine: 
 ActionMysqlBulkFile.SchemaName.Tooltip=Specifica qua il nome dello schema di 
origine
-ActionMysqlBulkFile.SelectColumns.Message=Seleziona le colonne da esportare 
nel file\: 
+ActionMysqlBulkFile.SelectColumns.Message=Selezionare le colonne da esportare 
nel file\: 
 ActionMysqlBulkFile.SelectColumns.Title=Selezione colonna 
 ActionMysqlBulkFile.Separator.Label=Separatore di campo: 
 ActionMysqlBulkFile.TableExists1.Label=Tabella di origine [
 ActionMysqlBulkFile.TableExists2.Label=] esiste.
 ActionMysqlBulkFile.TableName.Label=Tabella di origine: 
-ActionMysqlBulkFile.TableName.Tooltip=Specifica qua il nome della tabella di 
origine
+ActionMysqlBulkFile.TableName.Tooltip=Specifica il nome della tabella di 
origine
 ActionMysqlBulkFile.TableNotExists1.Label=Tabella di origine [
 ActionMysqlBulkFile.TableNotExists2.Label=] non esiste\!
-ActionMysqlBulkFile.Title=Bulk load da MySQL nel file
+ActionMysqlBulkFile.Title=Bulk load da tabella MySQL in un file

Reply via email to