programing

Powershell을 사용하여 CSV 데이터를 원격 MariaDB 서버에 삽입

yoursource 2022. 11. 2. 23:43
반응형

Powershell을 사용하여 CSV 데이터를 원격 MariaDB 서버에 삽입

원격 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.  

언급URL : https://stackoverflow.com/questions/58588692/insert-csv-data-into-distant-mariadb-server-with-powershell

반응형