MySQL+;加载数据填充+;可变路径
下面是我的代码,对于MySQL是错误的。 @Path不允许使用语法为“LOAD DATA INFILE”的变量,我不知道确切的Path+文件名 你知道如何解决这个问题吗MySQL+;加载数据填充+;可变路径,mysql,javascript,jquery,php,Mysql,Javascript,Jquery,Php,下面是我的代码,对于MySQL是错误的。 @Path不允许使用语法为“LOAD DATA INFILE”的变量,我不知道确切的Path+文件名 你知道如何解决这个问题吗 SET @Path = CONCAT(sysf_Get_Options('DRIVE'),sysf_Get_Options('PATH_SAP_FILE'),'277.txt'); LOAD DATA INFILE @Path INTO TABLE SAP_TMP LINES TERMINATED BY '\r\n'
SET @Path = CONCAT(sysf_Get_Options('DRIVE'),sysf_Get_Options('PATH_SAP_FILE'),'277.txt');
LOAD DATA INFILE @Path
INTO TABLE SAP_TMP
LINES TERMINATED BY '\r\n'
(@var1)
SET txt = SP_INSERT_ROW_CONTRACTS(@var1)
;
说:
文件名必须以文本字符串形式给出
因此,不能对路径使用变量。在解析语句之前,必须将带引号的文本字符串编码到语句中。表示:
文件名必须以文本字符串形式给出
因此,不能对路径使用变量。在解析语句之前,必须将带引号的文本字符串编码到语句中。我们使用的解决方法是将源文件复制到临时文件中,并在填充行中引用临时文件。 比如:(对于windows,对于Linux,没有太大区别) 然后
LOAD DATA INFILE 'C:/temp/tempData.txt'
这样,您可以在sql脚本中硬编码路径。我们使用的解决方法是将源文件复制到临时文件中,并在内嵌行中引用临时文件。 比如:(对于windows,对于Linux,没有太大区别) 然后
LOAD DATA INFILE 'C:/temp/tempData.txt'
这样,您可以在sql脚本中硬编码路径。您可以使用此方法或+
var Upload=函数(文件){
this.file=文件;
};
$(“#csvfile”)。关于(“更改”,函数(e){
var file=$(this)[0]。文件[0];
var upload=新上传(文件);
upload.doUpload();
});
Upload.prototype.doUpload=函数(){
//从引用的元素ID检索FileList对象
var myFileList=document.getElementById('csvfile').files;
//从文件列表中获取第一个文件对象
var myFile=myFileList[0];
//设置包含文件三个属性的一些变量
var myFileName=myFile.name;
var myFileSize=myFile.size;
var myFileType=myFile.type;
//提醒我们刚刚收集的信息
警报(“文件名:+myFileName+”-FileSize:+myFileSize+“-FileType:+myFileType”);
//让我们上传完整的文件对象
//打开formData对象
var formData=new formData();
//将文件附加到formData对象
//注意第一个参数“file”,并记住它
append('我的文件',我的文件');
//创建XMLHttpRequest对象
var xhr=new XMLHttpRequest();
//使用POST方法打开我们的连接
open(“POST”,“uploadcsv.php”);
//发送文件
xhr.send(formData);
var fileFullpath=“'C:\\\\”+myFileName+“”;
var query=“将数据低优先级本地填充”+fileFullpath+”加载到表tb_名称字符集cp1256字段中,字段以“,”结尾,也可以用“,”结尾,行以“\r\n”结尾,忽略1行(字段1,字段2,字段3,字段4);”;
//将文件插入数据库
$.ajax({
类型:'POST',
url:'insertData.php',
async:false,//确保插入所有数据
数据:{'data':查询},
成功:功能(数据){
如果(数据){
$(“#状态”).append(
成功添加数据);
}否则{
$(“#status”).append(
出现问题,无法编辑该行。”);
}
}
});
//然后在插入后删除上载的文件
$.ajax({
类型:“POST”,
url:'deletecsv.php',
数据:{'file':myFileName},
成功:功能(响应){
警报(“删除”);
},
错误:函数(){
警报(“无法删除csv文件”);
}
});
};代码>
上载CSV文件:
您可以使用此方法或+
var Upload=函数(文件){
this.file=文件;
};
$(“#csvfile”)。关于(“更改”,函数(e){
var file=$(this)[0]。文件[0];
var upload=新上传(文件);
upload.doUpload();
});
Upload.prototype.doUpload=函数(){
//从引用的元素ID检索FileList对象
var myFileList=document.getElementById('csvfile').files;
//从文件列表中获取第一个文件对象
var myFile=myFileList[0];
//设置包含文件三个属性的一些变量
var myFileName=myFile.name;
var myFileSize=myFile.size;
var myFileType=myFile.type;
//提醒我们刚刚收集的信息
警报(“文件名:+myFileName+”-FileSize:+myFileSize+“-FileType:+myFileType”);
//让我们上传完整的文件对象
//打开formData对象
var formData=new formData();
//将文件附加到formData对象
//注意第一个参数“file”,并记住它
append('我的文件',我的文件');
//创建XMLHttpRequest对象
var xhr=new XMLHttpRequest();
//使用POST方法打开我们的连接
open(“POST”,“uploadcsv.php”);
//发送文件
xhr.send(formData);
var fileFullpath=“'C:\\\\”+myFileName+“”;
var query=“将数据低优先级本地填充”+fileFullpath+”加载到表tb_名称字符集cp1256字段中,字段以“,”结尾,也可以用“,”结尾,行以“\r\n”结尾,忽略1行(字段1,字段2,字段3,字段4);”;
//将文件插入数据库
$.ajax({
类型:'POST',
url:'insertData.php',
async:false,//确保插入所有数据
数据:{'data':查询},
成功:功能(数据){
如果(数据){
$(“#状态”).append(
成功添加数据);
}否则{
$(“#status”).append(
出现问题,无法编辑该行。”);
}
}
});
//然后在插入后删除上载的文件
$.ajax({
类型:“POST”,
url:'deletecsv.php',
数据:{'file':myFileName},
成功:功能(响应){
警报(“删除”);
},
错误:函数(){
警报(“无法删除csv文件”);
}
});
};代码>
上载CSV文件: