我試圖做到這一點通過execlp().
嘗試通過將sql文件導入到遠程數據庫。 C程序
的代碼是:
if(execlp("mysql","mysql","-e \"source /single.sql\" -ppasswd --host 10.240.253.155 Dbname",(char*)0) == -1)
但我收到此錯誤:當我通過終端輸入相同的文件
ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check
the manual that corresponds to your MariaDB server version for the right
syntax to use near '"source /query.sql" -ppasswd --host 10.240.253.155 gdas
雖然它工作正常。
mysql -e "source ./query1.sql" -ppasswd -h10.240.253.155 dbname.
通常這個sql
文件只包含Insert
查詢沒有別的。從sql
文件
樣本:
INSERT INTO
gd_stats(client_IP,virtual_Host,ip_version,pOP,pOP_IP,pOP_Load,pOP_Hit_Stat,request_time,reply_time,time_req)
VALUES('10.240.253.10','service1.in',4,
'NORTH_AMERICA','10.240.253.15',0,1,'04-20-2015 12:54:32','04-20-2015
12:54:32',7881);
我認爲他們可能與此sql
文件有問題(因爲它僅包含插入查詢),所以創建通過mysqldump
一個sql
轉儲然後試圖導入轉儲文件但仍然是相同的錯誤。
數據庫存在於遠程主機中。
我使用MariaDB的:
mysql Ver 15.1 Distrib 5.5.41-MariaDB
,並試圖實現這一目標上rhel
。
我已經嘗試過「--default字符集= UTF8」,但仍然得到同樣的errror。 –