Hello,
I want to load a file in MySql and figured out an SQL statment that does the job
LOAD DATA INFILE 'FileList.txt' INTO TABLE `DiskSpace`.`TBL_FileList`
FIELDS TERMINATED BY ';' LINES TERMINATED BY '\r\n' (@Name,@Path,dSize,@LastAc
cess,@Last
Change,@Cr
eation,@Ex
tension)
SET dteDate = '2008-03-08',
szSite= 'Antwerp082',
szServer='AOT30201',
szName = REPLACE(SUBSTRING(@Name, 1, 255), '"', ''),
szPath = REPLACE(SUBSTRING(@Path, 1, 255), '"', ''),
dteLastAccess=STR_TO_DATE(
@LastAcces
s, '%d/%m/%Y %H:%i'),
dteLastChange=STR_TO_DATE(
@LastChang
e,'%d/%m/%
Y %H:%i'),
dteCreation=STR_TO_DATE(@C
reation, '%d/%m/%Y %H:%i'),
szExtension = SUBSTRING(@Extension, 1, 25);
Now I want to use this SQL statement into VB.net application but that does not go right
szSQL = szSQL & "LOAD DATA INFILE 'FileList.txt' INTO TABLE `DiskSpace`.`TBL_FileList`
"
szSQL = szSQL & " FIELDS TERMINATED BY ';' LINES TERMINATED BY '\r\n' (@Name,@Path,dSize,@LastAc
cess,@Last
Change,@Cr
eation,@Ex
tension)"
szSQL = szSQL & " SET dteDate = '2008-03-08',"
szSQL = szSQL & " szSite= 'Antwerp082',"
szSQL = szSQL & " szServer='AOT30201',"
szSQL = szSQL & " szName = REPLACE(SUBSTRING(@Name, 1, 255),'" & Chr(34) & "',''),"
szSQL = szSQL & " szPath = REPLACE(SUBSTRING(@Path, 1, 255),'" & Chr(34) & "',''),"
szSQL = szSQL & " dteLastAccess=STR_TO_DATE(
@LastAcces
s, '%d/%m/%Y %H:%i'),"
szSQL = szSQL & " dteLastChange=STR_TO_DATE(
@LastChang
e,'%d/%m/%
Y %H:%i'),"
szSQL = szSQL & " dteCreation=STR_TO_DATE(@C
reation, '%d/%m/%Y %H:%i'),"
szSQL = szSQL & " szExtension = SUBSTRING(@Extension, 1, 25);"
objMySqlCommand.CommandTex
t = szSQL
objMySqlCommand.ExecuteNon
Query()
Excuting this give me an error @Name not defined.
Adding this
objMySqlCommand.Parameters
.Add("@Nam
e", SqlDbType.NVarChar, 255)
objMySqlCommand.Parameters
.Add("@Pat
h", SqlDbType.NVarChar, 255)
objMySqlCommand.Parameters
.Add("@Las
tAccess", SqlDbType.NVarChar, 25)
objMySqlCommand.Parameters
.Add("@Las
tChange", SqlDbType.NVarChar, 25)
objMySqlCommand.Parameters
.Add("@Cre
ation", SqlDbType.NVarChar, 25)
objMySqlCommand.Parameters
.Add("@Ext
ension", SqlDbType.NVarChar, 25)
objMySqlCommand.Prepare()
gives me an SQL error because it replace @Name ... by NULL.
OK. Trying to be a smartass I added
objMySqlCommand.Parameters
("@Name").
Value = "@Name"
objMySqlCommand.Parameters
("@Path").
Value = "@Path"
objMySqlCommand.Parameters
("@LastAcc
ess").Valu
e = "@LastAccess"
objMySqlCommand.Parameters
("@LastCha
nge").Valu
e = "@LastChange"
objMySqlCommand.Parameters
("@Creatio
n").Value = "@Creation"
objMySqlCommand.Parameters
("@Extensi
on").Value
= "@Extension"
give me an error "String was not recognized as a valid DateTime".
So now I do not know it any longer.
Does anyone know how to pass the @var straight to the MySQL engine?
Start Free Trial