Вставьте данные CSV в удаленный сервер MariaDB с помощью Powershell - PullRequest
2 голосов
/ 28 октября 2019

Я пытаюсь вставить данные на удаленный сервер MariaDB.

Я пытался настроить свой код как можно больше, следуя другим постам, но он все еще не работает.

Вотпроверка на моем сервере Debian / MariaDB:

SHOW GLOBAL VARIABLES LIKE 'local_infile';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| local_infile  | ON    |
+---------------+-------+
1 row in set (0.01 sec)

Содержимое файла CSV:

"EMPLOYEE_ID","LAST_NAME"
"6762","name 1"
"6789","name 2"
"8234","name 3"
"7001","name 4"
"7623","name 5"
"6892","name 6"
"7040","name 7"
"5950","name 8"
"7032","name 9"
"4380","name 10"

На Windows Server я пытаюсь выполнить на Powershell следующее:

[void][System.Reflection.Assembly]::LoadFrom("C:\Program Files (x86)\MySQL\MySQL Connector Net 8.0.18\Assemblies\v4.5.2\MySql.Data.dll")
$connexion = New-Object MySql.Data.MySqlClient.MySqlConnection
$connexion.ConnectionString = "server=${servername};user id=${username};password=${password};database=${database};pooling=false;AllowLoadLocalInfile=true"
$connexion.Open()
$cmd = New-Object MySql.Data.MySqlClient.MySqlCommand
$cmd.Connection = $connexion
$cmd.CommandText = "LOAD DATA LOCAL INFILE 'SQL_Export.csv' INTO TABLE test_table FIELDS TERMINATED BY ',' ENCLOSED BY '`"' LINES TERMINATED BY '\r\n';"
$query = $cmd.ExecuteNonQuery()
$connexion.Close()

И я продолжаю получать следующую ошибку:

Exception lors de l'appel de « ExecuteNonQuery » avec « 0 » argument(s) : « Fatal error encountered during command execution. »
Au caractère C:\Users\easyvista\Desktop\test\csv_to_mysql.ps1:22 : 1
+ $query = $cmd.ExecuteNonQuery()
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : MySqlException

Дополнительная информация:

Name                           Value                                                                                                                                                                                   
----                           -----                                                                                                                                                                                   
PSVersion                      4.0                                                                                                                                                                                     
WSManStackVersion              3.0                                                                                                                                                                                     
SerializationVersion           1.1.0.1                                                                                                                                                                                 
CLRVersion                     4.0.30319.42000                                                                                                                                                                         
BuildVersion                   6.3.9600.19170                                                                                                                                                                          
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0}                                                                                                                                                                    
PSRemotingProtocolVersion      2.2     


Server version: 10.1.41-MariaDB-0+deb9u1 Debian 9.9
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.  
...