csv导入数据库,0行受影响问题

应用以下sql脚本:

 LOAD DATA LOCAL INFILE 'C:/Program Files/MySQL/MySQL Server 5.7/data/nad_content.csv' 
INTO TABLE nad_content
FIELDS TERMINATED BY ',' #分隔符
OPTIONALLY ENCLOSED BY '"' ESCAPED BY '"'
LINES TERMINATED BY '\n' #换行
IGNORE 1 LINES

向数据库中导入记录,但是总是执行成功,0行受影响,
求大神指导

3个回答

拿去玩

 static void Main(string[] args)
        {
            int count = 0;
            string readerPath=@"C:\Users\Administrator\Desktop\readerDemo.csv";
            string writerPath=@"C:\Users\Administrator\Desktop\writeDemo.csv";
            if (File.Exists(writerPath))
            {
                File.Delete(writerPath);
            }
            using (StreamReader reader = new StreamReader(readerPath,Encoding.UTF8))
            {
                while (!reader.EndOfStream)
                {
                    string line = reader.ReadLine();
                    using (StreamWriter writer = new StreamWriter(writerPath, true,Encoding.Default))
                    {
                        writer.WriteLine(line);
                    }
                    count++;
                    Console.WriteLine("正在转码第{0}行,请稍等",count);
                }
            }
            Console.WriteLine("转码完成,共转码{0}条数据",count);
            Console.WriteLine("开始导入数据,请稍等");
         //开始向数据库导入数据
            string sql = "BULK INSERT Test.dbo.BagDataTable FROM 'C:\\Users\\Administrator\\Desktop\\writeDemo.csv' WITH(FIELDTERMINATOR=',',BATCHSIZE=100000,FIRSTROW=2)"; 
            try
            {
                DbHelper.ExecuteSql(sql);//使用的是方法ExecuteNonQuery()方法,具体的Helper就不上传了。
            }
            catch(Exception ex)
            {
                using (StreamWriter writerLog = new StreamWriter(@"C:\Users\Administrator\Desktop\Log.txt"))
                {
                    writerLog.WriteLine(ex.ToString());
                }
            }
            Console.WriteLine("数据导入完毕");
            Console.ReadKey();
        }
    }
aguo718
aguo718 是中文编码的原因,谢谢你
一年多之前 回复
aguo718
aguo718 是“ OPTIONALLY ENCLOSED BY '"' ESCAPED BY '"' ”这句的作用吗?
一年多之前 回复
mango_love
mango_love 回复aguo718: 如果字段中有逗号(,),该字段使用双引号(")括起来; 如果该字段中有双引号,该双引号前要再加一个双引号,然后把该字段使用双引号括起来。比如说:a,b转成“a,b”.再比如:a"b,转换成"a""b"
一年多之前 回复
aguo718
aguo718 嘿嘿,那再问一下,一般这样的情况都怎么解决呢,因为数据中常常会有这样的内容 ,csv不是会自己处理的吗?
一年多之前 回复
mango_love
mango_love 回复aguo718: 特殊字符,csv主要的格式就是'','',''的这种逗号分隔,所以代码里面有逗号的,或者转义字符的都会影响到
一年多之前 回复
aguo718
aguo718 哦噢,请问,csv中会有什么内容影响它的导入吗?因为测试自己输入的简单内容就可以导入,但数据库导出的就不可以
一年多之前 回复
mango_love
mango_love 呃呃呃。。。不好意思,我以为是c#
一年多之前 回复

你要是想把数据库里面导出的再导进去,导出的时候直接指定一个文中没有的东西作为分隔符,比如@啥的,这样就不会受到干扰了,能直接导回去,csv查看的时候把分隔符换成现在的分隔符就好。
你可以试一试。

问题已解决,是编码的问题,他实际是不可导入中文,所以编码应设置为GB2312...不可以是utf8
修改后的脚本为:
LOAD DATA LOCAL INFILE 'C:/Program Files/MySQL/MySQL Server 5.7/data/nad_content.csv'
INTO TABLE nad_content character set GB2312
FIELDS TERMINATED BY ',' #分隔符
OPTIONALLY ENCLOSED BY '"' ESCAPED BY '"'
LINES TERMINATED BY '\n' #换行
IGNORE 1 LINES

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
删除行时候提示0行受影响
delete from POP3 where username=nullrn我执行这跳语句。。数据库中有username为空的好多行。我想删除。。老是0行受影响。为什么啊?rn触发器也没有。
csv文件导入数据库
怎么把csv格式的文件中的数据导入到sql server2000的表格中,用delphi编程实现,在下搞了几天还是没有头绪,郁闷。
C# CSV 导入数据库
做个导入CSV到MSSQL数据库的工具,数据每行都要处理验证,使用的线程池,但是发现只有一个线程的效果,不明为何,求大神指点rn这是button点击事件rn[code=csharp]for (int i = 0; i < 5; i++)rn rn string[] files = list[i].ToArray();rn rn ThreadPool.QueueUserWorkItem(p =>rn rn foreach (string file in files)rn rn string[] temp = file.Split('\\');rn string name = temp[temp.Length - 1].Replace(".csv", "");rn int count = 0;rn operateCSV.readCsvTxt(file, name, dataType, "Quotes", out count);rn //MessageShow(name + " " + count.ToString() + " " + fileCount++);rn rn );rn [/code]rnrn这是数据处理和写入数据库方法rn[code=csharp]/// rn /// 读取CSV文件通过文本格式rn /// rn /// rn /// rn public static void readCsvTxt(string strpath, string code, string dataType, string tableName, out int count)rn rn string strline;rn string[] aryline;rnrn rn System.IO.StreamReader mysr = new System.IO.StreamReader(strpath);rn string sqlStr = "Data Source=localhost;Initial Catalog=StockDataDB;Integrated Security=True";rn //数据库rn SqlConnection conn = new SqlConnection(sqlStr);rn conn.Open();rn if (conn.State == ConnectionState.Closed)rn rn conn.Open();rn rn count = 0;rn while ((strline = mysr.ReadLine()) != null)rn rn aryline = strline.Split(',');rn if(aryline[0] == "\"\"")rn rn continue;rn rn bool isNull = HasNull(aryline);rn if (!isNull)rn rn continue;rn rn rn string Code = code;rn string DataType = dataType;rn DateTime dtime = Convert.ToDateTime(aryline[1]);rn int Year = dtime.Year;rn int Quarter = GetQuarterByMonth(dtime.Month);rn int Month = dtime.Month;rn int Week = WeekOfYear(dtime);rn int Day = dtime.Day;rn DateTime DATETIME = dtime;rn double OPEN = Convert.ToDouble(aryline[2]);rn double HIGH = Convert.ToDouble(aryline[3]);rn double LOW = Convert.ToDouble(aryline[4]);rn double CLOSE = Convert.ToDouble(aryline[5]);rn double VOLUME = Convert.ToDouble(aryline[6]);rn double Amount = Convert.ToDouble(aryline[7]);rnrn //Data Source=KOBE;Initial Catalog=StockDataDB;Integrated Security=Truern rn rn SqlCommand cmd = new SqlCommand();rn cmd.Connection = conn;rn cmd.CommandText = "INSERT INTO [" + tableName + "] ([Code],[DataType], [Year], [Quarter], [Month], [Week], [Day], [DATETIME], [OPEN], [HIGH], [LOW], [CLOSE], [VOLUME], [Amount]) VALUES (@Code,@DataType, @Year, @Quarter, @Month, @Week, @Day, @DATETIME, @OPEN, @HIGH, @LOW, @CLOSE, @VOLUME, @Amount)";rn //添加参数rn SqlParameter p = cmd.Parameters.Add("Code", SqlDbType.Char);rn p.Value = Code;rn p = cmd.Parameters.Add("DataType", SqlDbType.Char);rn p.Value = DataType;rn p = cmd.Parameters.Add("Year", SqlDbType.Int);rn p.Value = Year;rn p = cmd.Parameters.Add("Quarter", SqlDbType.Int);rn p.Value = Quarter;rn p = cmd.Parameters.Add("Month", SqlDbType.Int);rn p.Value = Month;rn p = cmd.Parameters.Add("Week", SqlDbType.Int);rn p.Value = Week;rn p = cmd.Parameters.Add("Day", SqlDbType.Int);rn p.Value = Day;rn p = cmd.Parameters.Add("DATETIME", SqlDbType.DateTime);rn p.Value = DATETIME;rn p = cmd.Parameters.Add("OPEN", SqlDbType.Float);rn p.Value = OPEN;rn p = cmd.Parameters.Add("HIGH", SqlDbType.Float);rn p.Value = HIGH;rn p = cmd.Parameters.Add("LOW", SqlDbType.Float);rn p.Value = LOW;rn p = cmd.Parameters.Add("CLOSE", SqlDbType.Float);rn p.Value = CLOSE;rn p = cmd.Parameters.Add("VOLUME", SqlDbType.Float);rn p.Value = VOLUME;rn p = cmd.Parameters.Add("Amount", SqlDbType.Float);rn p.Value = Amount;rn rnrn //执行rn count += cmd.ExecuteNonQuery();rn rn rn conn.Close();rn mysr.Close();rn rn [/code]
CSV导入数据库
获取CSV导入数据库 public class CSVHelper { /// &amp;lt;summary&amp;gt; /// 获取CSV导入的数据 /// &amp;lt;/summary&amp;gt; /// &amp;lt;param name=&quot;filePath&quot;&amp;gt;文件路径&amp;lt;/param&amp;gt; /// &amp;lt;param ...
csv导入数据库 java源代码
扫描csv文件的数据到数据库中 java源代码
CSV文件导入数据库
现在要将CSV文件导入到SQL SERVER数据库rn请大家帮帮忙,谢谢
CSV 导入mysql 数据库
NULL 博文链接:https://justcoding.iteye.com/blog/645107
批量CSV文件导入数据库
最近在研究fusionpbx,,发现它默认是sqlite,支持mysql,支持odbc。 无奈,我只会MS一族。。。查了很多如何从csv导入sqlserver,,, 几种方案: 1. bulkinsert 2. dts import 3. 自己写一个   上面的方案 ,优缺点都有。 1. 需要自己手动建表,无法自适应csv的动态表结构,,优点是速度快。 2. 只能一个个csv文件...
CSV文件导入Neo4j数据库
之前创建Neo4j数据库是直接读取txt文件,在代码中创建节点和边导入数据库的。今天下午,师妹跟我说还可以直接导入csv文件,我一想这也是一个不错的方法啊,就和她开始研究了起来。中间遇到了很多问题,但都一一解决了,oh yes,赶快记录一下以免忘记^.^!     低版本的了neo4j中好像不支持neo4j-import,所以这里用的版本是3.3.1,安装方法就自行百度吧~     本例中用到
CSV怎样一键导入数据库
CSV怎样一键导入数据库,这个这么弄啊,急!!!!
laravel - 导入csv文件到数据库
public function import() { set_time_limit(0); $content = file_get_contents('./shop.csv'); $file_type = mb_detect_encoding($content,array('UTF-8','GBK','LATIN1','BIG5')); ...
CSV 文件分析与导入数据库
CSV全称 Comma Separated values,是一种用来存储数据的纯文本文件格式,通常用于电子表格或数据库软件。这里介绍如何用C#读取CSV文件(通过IDataReader)和导入到数据库。
PLSQL导入csv文件到数据库
好久不用oracle了,突然忘记怎么导入数据了。今天再记录一下吧。 1、建表。目的是:被导入到数据的存储位置。 因为数据库中曾经有过相同表结构的表,所以直接使用SQL建表。 -- t_sdh_cc表 create table t_sdh_cc as select * from t_sdh_cc_hn_cxh where 1=0; 2、建好表后,开始导入数据。 2.1、
将.csv文件导入数据库
load data infile ‘F:/test.csv’ into table test fields terminated by ‘,’ optionally enclosed by ‘&amp;amp;amp;amp;amp;quot;’ escaped by ‘&amp;amp;amp;amp;amp;quot;’ lines terminated by ‘\r\n’ IGNORE 1 LINES; 常见问题: 1.第一行标题上不能有双引号 2.段结束要修改成Windows下的转
NET 导入CSV文件到数据库
那位高手有Net导入CSV文件的案例,分享一个 感激不尽!本人菜鸟一个,希望大侠们指导一下、
csv文件导入数据库工具类
首先导入javacsv.jar             net.sourceforge.javacsv             javacsv             2.0          public class CsvUtil { private static final Logger logger = Logger.getLogger(CsvUtil.cla
CSV文件导入数据库的sql
load data infile ‘E:/sqlResult_1482078.csv’ into table data10 fields terminated by ‘,’ optionally enclosed by ‘”’ escaped by ‘”’ lines terminated by ‘\r\n’;
csv文件导入数据库 逗号问题 急。
我现在做了一个csv导入数据库的程序,rn有个单元格里面包含了逗号,我用记事本打开csv文件只有有逗号的那个数据被引号引起了,这列其他的数据没有被引号引起,我是用bulk insert 导入的,使用了格式化文件,但是其中一个单元格出先逗号不知道怎么解决,rn如[code=SQL]rn col1 col2 col3rn aaa , ddfd, dfdfrn dfd,df dfdf dfdfdrn fdfd, dfdfd dfdfdrn[/code]rn就是其中有一个包含逗号
急求:csv文件导入数据库的问题
描述:现有一个csv文件需要导入数据库,内容大致如下:rn123,rn124,rn135,rna126,rnb127,rn....rnrn问题:采用oledb方式读取数据,当解析到字母数字混杂的数据时,结果就为空,即:当解析到“a126”时,结果就为“”。rn求解决方法。rn其他解析csv文件,并导入到数据库的方式大家也可以推荐,谢谢。rn要成功案例,网上很多文章我多试过,基本都有问题,谢谢。
如何将SQL的“0行受影响”等信息在Delphi的showmessage里表示出来?
将SQL的“0行受影响”等信息在Delphi的showmessage里表示出来?
csv导入问题
csv文件用mysql自带的import功能(csv文件中已经清除“),发生如下错误”Invalid field count in CSV input on line 48.“rn请问如何处理或如何得知错误在48行的哪个字段?rnrn谢谢了rn
csv文件导入问题
有这样一个格式的csv文件:rn[code=SQL]col1,col2,col3,col4rn1,a,b,"asd,djf","uji,sdf"rn2,c,d,"dds,dfi","jkdsifu,sdjfi,sdf"[/code]rn引号之间的算一个值。rn请问如何导入?
CSV文件导入的问题。。
现在我有个CSV文件,里面其中有一列的数据为一长串数字,当我用Excel打开的时候,数字就显示成了:6.01508E+15这种类型的数据,导入的时候也是显示的这个,而且用Excel打开后,数字就不准确了,请问有什么办法呢?
导入CSV数据问题
目前的做法和碰到的问题:rnrn有很多相同格式的CSV 文件,列名有重复(目前没办法一个一个改掉),所以用下面这种方法1会提示出错,错误提示是:列名重复rn方法1:rn SELECT * FROM OpenRowset('MSDASQL','Driver=Microsoft Text Driver (*.txt; *.csv);rn DefaultDir=C:\test\;','SELECT * FROM book1.csv')rn方法2:rn如果用BCP 导入,不知道什么原因,会把两行的数据合在一行(比如: 有两行数据,会把第二行的数据接在第一行后面的列中导入),判断第二种方法存在的问题,可能与CSV 文件的换行符有关系。rnrnBULK Insert XXXXX rnFrom 'C:\test\book1.csv' rnWITH ( rn FIELDTERMINATOR = ',', rn ROWTERMINATOR = '\n' rn) rnrn方法3:rn就是用数据库的导入向导做导入,导入成功,但是CSV 文件太多,不可能一个一个的手工去导入。rnrn目前还不打算用SSIS解决这个问题。最好是把 BULK 或者 BCP 的语句修改好,谢谢各位的帮忙!
数据导出导入问题(csv)
请教各位高手一个问题,我从database里面导出数据,存放格式是csv.rn现在要把csv里面的数据导入database,用sqlldr,但是老是不成功,提示rn说日期格式错误。请问如果用sql语句,这个sql语句该怎么写呢。谢谢!
导入CSV文件问题
要将csv文件导入MSSQL 2000中,请帮帮忙:rnSELECT * FROM rnOPENROWSET('Microsoft.Jet.OLEDB.4.0',rn'Excel 5.0;HDR=YES;DATABASE=E:\wrok\sqlserver\test.csv',sheet1$)rn消息:rn服务器: 消息 7399,级别 16,状态 1,行 1rnOLE DB 提供程序 'Microsoft.Jet.OLEDB.4.0' 报错。提供程序未给出有关错误的任何信息。rnOLE DB 错误跟踪[OLE/DB Provider 'Microsoft.Jet.OLEDB.4.0' IDBInitialize::Initialize returned 0x80004005: 提供程序未给出有关错误的任何信息。]。rnrn
csv 导入,科学计数法问题
在数据后面加上 \t 即可解决科学计数法问题
csv 导入 sql 问题
csv文件中有一列的数据格式类似为"84K 12240"rnOleDbConnection xlsCN = new OleDbConnection(@"Provider=MICROSOFT.JET.OLEDB.4.0;Extended Properties=Text;DATA SOURCE="+sFilePath);rn OleDbCommand xlsCM = new OleDbCommand("SELECT * FROM "+sFileName,xlsCN);rnrn老是把该列转换成了decimal:8412240rnrn将该列所有的字段用双引号括起来是能解决问题,但是我没办法自动加;rn假如需要打开文件循环加,倒不如直接操作文件不使用oledb了;rnrn各位有没什么好方法?rnrn谢谢!!
导入 CSV
掌握 CSV 文件的特点,Powershell 对于 CSV 文件导入和导出的命令和相关参数,以及实际应用案例中,Powershell 对于 CSV 文件进行导入导出时的操作
linux 导入csv遇到的问题
环境:linux redhat6 最重要的: Excel变成CSV文件后,要用UE转化成UTF8格式。   --------------------------------------------------------------   1、linux下如何查找: 用find命令 假设不知道phpmyadmin的php.ini文件在哪,只知道phpmyadmin安装在opt目录下...
导入CSV到SQL SERVER 问题
CSV....................................
csv导入mysql中文乱码等问题
1、日期格式选择不正确导致导入失败源日期格式:2018-05-31 23:49:44 ,导入时日期分隔符默认为“/”,调整为“-”,问题解决。2、中文导入后乱码原因:字符集选择错误,导入时默认选择如下:应该调整为搞定!...
asp导入csv文件问题
<%rn 'On Error Resume Nextrn 'if session("xibu")="administrator" thenrn If Request.QueryString("action")="do" Thenrn Dim connrn Dim StrConnrn Dim Rsrn Dim Sqlrn Dim irn Dim ExNamern ExName = Request.Form("ExName")rn ExTName = Request.Form("ExTName")rn Set conn =Server.CreateObject("ADODB.Connection")rn StrConn="Driver=Microsoft Text Driver (*.txt; *.csv);DBQ="&Server.MapPath("excel/"&ExName)&";Extensions=csv;Persist Security Info=False"rn 'StrConn="Driver=Microsoft Excel Driver (*.xls);DBQ="& Server.MapPath("excel/"&ExName)rn 'StrConn="Driver=Microsoft Excel Driver (*.xls);DBQ="& Server.MapPath("excel/"&ExName)";& Extended Properties="&Excel 8.0;HDR=Yes;IMEX=1"rn conn.Open StrConnrn Set rs = Server.CreateObject("ADODB.Recordset")rn Sql="select * from ["&ExName&"$]"rn rs.Open Sql,conn,1,1rn if Err.Number <> 0 thenrn response.write " 对不起,发生错误。 "&StrConn&" 错误提示:您选择的表格有误,请确认您选择的是用户数据还是工资数据!"rn response.write " 点击返回"rn response.endrn End ifrn %>
导入CSV文件字段类型问题
在CSV文件中有两列:rnCode,NamernA1,arn1,brn2,crn3,drn...rn1000,xxrnrn在程序中用ODBC或Jet OLEDB连接导入数据库后,发现Code列中E1的值变成了空值,我想可能是把code当成了数字类型字段来处理了,因为1000成了1.0E+3;rn不知ODBC,OLEDB数据库驱动是怎么判断导入数据字段类型的,有什么好方法解决这个问题呢?rnrn
远程导入CSV文件的问题
rnselect *rn into test from rnOPENROWSET('MICROSOFT.JET.OLEDB.4.0'rn,'Text;HDR=NO;DATABASE=C:\book\rn,M9L18DD0000#csv) rnrn我想用上边的语句从csv文件导入数据到SQL数据库中rn当上边的DATABASE为本机时,语句可以正常执行rnrn但是我现在要到另外一台电脑上获取就不能执行,rnrn将目标目录映射为本机目录也无法执行,请教该如何实现。rnrnrn服务器: 消息 7399,级别 16,状态 1,行 1rnOLE DB 提供程序 'MICROSOFT.JET.OLEDB.4.0' 报错。 rn[OLE/DB provider returned message: '\\c01a01\aa\book\不是一个有效的路径。 确定路径名称拼写是否正确,以及是否连接到文件存放的服务器。]rn
mysql csv文件导入问题
由于修改过mysql 的默认字符集为utf8mb4,所以今天导入csv的时候会出现莫名的问题: ERROR: 1253, COLLATION 'utf8mb4_unicode_ci' is not valid for CHARACTER SET 'utf8' Table:weather_shanghai.csv Sql:CREATE TABLE `saledata`.`weather_sha
CSV文件和TXT文件导入的问题
CSV文件的分隔符一般有几种?是什么?rnTXT文件的分隔符一般有几种?是什么?rnrn怎么让定义的方法很容易对应不管用户想使用那种分隔符。(不想让用户在参数中输入',')可以使枚举类型的参数rnrn求代码 求代码 求代码 求代码 求代码rnrn如果是文件中列数不固定的情况下。。怎么对应?rnrnrn
oracle 导入csv文件问题
一张测试表 三列 导入一个csv文件也是对应的三列 csv文件不是所有的三列里面都有值也就是说 一行中可能只有两个值rn 在导入的过程中出现错误rnrnrn 由于数据错误, 1 行 没有加载。rn 由于所有 WHEN 子句失败, 0 行 没有加载。rn 由于所有字段都为空的, 0 行 没有加载。rnrnrn错误数据为 宁波市cmc投资有限公司,,293898 也就是中间的没有值 现在我想忽略这种现象 就是不论是否为空值,只要其它是是有值就导入数据库。
SQLserver2008导入CSV遇到的问题
手边有一个将近3G的csv文件,传说中是Oracle导出生成的.现在需要导入至sqlserver2008.rnrn我利用sqlserver2008的导入导出向导,再选择平面源文件后,设置了分隔符(,)和文本限定符("),在列预览中发现了如下问题:个别观测出现字段错位.rn[img=https://img-bbs.csdn.net/upload/201308/07/1375866247_282424.png][/img]rnrn因为有一个字段包含了过多的信息,怀疑是从另一个表中直接关联生成单一字段导致的.rn请问这种情况有没有好办法?
bulk insert 导入.csv 问题
bulk insert table_name from 'd:\111.csv'rnwith(fieldterminator=',',rnrowterminator='\n')rnrnrn错误提示大容量加载失败。数据文件中第11354行的第3列太长。请验证是否指定了终止字段和行终止符rn在线等 为什么指定了\n不好使呢 其它的终止符我也都式了 都是相同的错误
相关热词 c#检测非法字符 c#双屏截图 c#中怎么关闭线程 c# 显示服务器上的图片 api嵌入窗口 c# c# 控制网页 c# encrypt c#微信网页版登录 c# login 居中 c# 考试软件