MySQL(csv,text)导入mssql使用方法

分两步处理,第一步是将csv导入到mysql。没有使用mssql自带客户端的导入功能,因为这个功能太坑,尝试N多种方法仍然是报错,因此选择先转换成mysql做中间步骤。

csv/text导入MySQL

一批很大的csv数据(其实并非csv,而是制表符分隔字段),要导入到mssql数据库里。

首先在cygwin下使用awk对数据做预处理,只筛选出字符数正确的行。并且在首行加入列名,以便导入工具自动做列对应。

然后计算各字段最大长度;因为字段数太多(63个),所以计算一下,用于构造create table语句。对于最大长度在255以下的字段使用varchar(n)型,255以上使用longtext类型。

#参考下面语句

$ awk -F "\t" 'NF==63 {print $0}' all.csv >all_63f.txt
$ head -1 origin_text_file.txt >h.txt
$ dos2unix h.txt       #注意最好不要带BOM,否则自行另存一下,避免麻烦
$ cat h.txt all_63f.txt >a63_with_head.txt

#最大计算字符长度,本身并不复杂,只是写在一行里,阅读不太方便
$ awk -F "\t" 'BEGIN{for(i=1;i<=63;i++){xcount[i]=0}} {for(i=1;i<=63;i++){if(xcount[i]<length($i) ){xcount[i]=length($i)}}} END{for(i=1;i<=63;i++){print i,xcount[i]}}' all_63f.txt接下来使用Navicat for MySQL将导入csv。navcate可以试用,功能足够用;如果使用频繁,建议购买授权。

MySQL导入mssql

以下win2008 x64下的mssql 2012为例。

安装mysql的.net驱动 http://dev.mysql.com/downloads/connector/

create table,建表,与mysql结构一致。

使用mssql自带导入功能导入数据,导入数据源选择 .Net Framework Data Provider for MySQL,填写必要的主机名、登录名、口令,如下

不能选择源数据表,必须写select 语句,如: select f1,f2,f3… from `db`.`table` where 1

后面应该没有什么难度了

时间: 2025-01-26 19:22:39

MySQL(csv,text)导入mssql使用方法的相关文章

php将csv文件导入到mysql数据库的方法_php技巧

本文实例讲述了php将csv文件导入到mysql数据库的方法.分享给大家供大家参考.具体分析如下: 本程序实现数据导入原理是先把csv文件上传到服务器,然后再通过php的fopen与fgetcsv文件把数据保存到数组,然后再用while把数据一条条插入到mysql数据库,代码如下: 复制代码 代码如下: <?php $fname = $_files['myfile']['name']; $do = copy($_files['myfile']['tmp_name'],$fname); if ($

c#-有什么好的方法把CSV格式导入到SQL数据库中?有代码更加好,或者指教思路也可以,感谢啦!

问题描述 有什么好的方法把CSV格式导入到SQL数据库中?有代码更加好,或者指教思路也可以,感谢啦! 有什么好的方法把CSV格式导入到SQL数据库中?有VB.NET或者C#代码更加好,或者指教思路也可以,感谢啦! 解决方案 1.用SQL自带的工具(导入导出数据)就可以2.不代码的话,每次读一行,按','进行Split成为一个数组,写入数据库就可以了 解决方案二: csv其实就是txt.你可以当成文本一行一行的处理.写数据库用ado.net就是了. 解决方案三: 代码就是一行行读取,用逗号作为格列

csv 文件导入mysql 数据库 ,提示文件找不到什么原因?

问题描述 csv 文件导入mysql 数据库 ,提示文件找不到什么原因? LOAD DATA INFILE "D:/csv03011039.csv" REPLACE INTO TABLE download_csv CHARACTER SET utf8 FIELDS TERMINATED BY "," ENCLOSED BY "" LINES TERMINATED BY "rn"; 解决方案 d:xxx.csv 注意文件路径

MySQL数据的导入与导出(mysqldump)方法

一,mysqldump备份方法 貌似是除了在MySQL客户端里导出表之外,最简单的备份方法.记录一下. shell> mysqldump [OPTIONS] database [tables] 如果没有指定数据表,则导出整个数据库的内容. 获得帮助 shell> mysqldump --help 这样能够得到mysqldump的选项列表. 注意:如果运行mysqldump没有–quick或–opt选项,mysqldump将在导出结果前装载整个结果集到内存中,如果正在导出一个大的数据库,这将可能

mysql导入存储过程的方法

mysql教程导入存储过程的方法 本文章提供二种关于mysql导入存储过程的方法与mysql存储过程导出方法,下面我们先来看看导出存储过程的实例,再看一款详细的导入存储过程方法. 导出mysql里面的函数或者存储过程 语法为: [root@localhost bin]# mysqldump -uroot -p -hlocalhost -p3306 -n -d -t -r dbname > procedure_name.sql 参数说明: -n:   --no-create-db -d:   --

php实现mysql备份恢复分卷处理的方法_php技巧

本文实例讲述了php实现mysql备份恢复分卷处理的方法.分享给大家供大家参考.具体分析如下: 分卷处理就是把握们要处理的数据分成一个个小文件进行处理了,这里我来给大家介绍一个php mysql备份恢复分卷处理类,实现mysql数据库分卷备份,选择表进行备份,实现单个sql文件及分卷sql导入. 分卷导入类及思路详解 数据库导入导出是一个后台必要拥有的功能,网上一搜,有很多关于数据库导入导出的,但基本上一个大的系统,包含了许多我们并不需要的,而且他们都是自己的后台的形式,我并不喜欢的是拿人家的东

C# ASP.NET CSV文件导入数据库

原文:C# ASP.NET CSV文件导入数据库       using System; using System.Collections.Generic; using System.Text; using System.Data; using System.Data.OleDb; using System.Data.Sql; using System.Data.SqlClient; using System.IO;   namespace HPRSP.CommonDataObject { pu

php实现CSV文件导入和导出_php技巧

项目开发中,很多时候要将外部CSV文件导入到数据库中或者将数据导出为CSV文件,那么具体该如何实现呢?本文将使用PHP并结合mysql,实现了CSV格式数据的导入和导出功能. 我们先准备mysql数据表,假设项目中有一张记录学生信息的表student,并有id,name,sex,age分别记录学生的姓名.性别.年龄等信息. CREATE TABLE `student` ( `id` int(11) NOT NULL auto_increment, `name` varchar(50) NOT N

php+mysql数据库实现无限分类的方法_php技巧

本文实例讲述了php+mysql数据库实现无限分类的方法.分享给大家供大家参考.具体分析如下: 这款php无限分类代码比较完整理包括了数据库是mysql的,有增加.删除.编辑.移动的功能,同时还提供数据库sql表结构.代码如下: 复制代码 代码如下: //连接数据库 $link = mysql_connect('localhost','root','') or die(mysql_error()); mysql_select_db('class',$link)or die(mysql_error