using System;using System.Collections.Generic;using System.Linq;using System.Windows.Forms;namespace CsvtoSqlserver{ static class PRogram { /// /// アプリケーションのメイン エントリ ポイントです。 /// [STAThread] static void Main() { ImportOutlooExpByOleDB("C://Users//Desktop//333","111.csv"); } public static bool ImportOutlooExpByOleDB(string path, string fileName) { string cs = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + path + @";Extended Properties=""text;HDR=Yes;FMT=Delimited"""; System.Data.OleDb.OleDbConnection con = new System.Data.OleDb.OleDbConnection(cs); con.Open(); try { string sql = String.Format("SELECT * FROM [{0}] ", fileName); System.Data.DataSet ds = new System.Data.DataSet(); System.Data.OleDb.OleDbDataAdapter ada = new System.Data.OleDb.OleDbDataAdapter(sql, con); ada.Fill(ds, fileName); return true; } catch { return false; } } }}// 以上代码将CSV内容存放到DataSet中。下面将DataSet导入SQLserver数据库,要求表中字段与CSV完全对应//写入数据库源代码;此方法是源文件内容中的例必须和要导入的表的例数一至,且数据格式一至using System;using System.Collections.Generic;using System.Text;using System.Data;using System.Data.Sql;using System.Data.SqlClient;namespace CC{ /// /// 将数据写入数据库表中去 /// class SqlBulkData { SqlConnection SqlCon = new SqlConnection(); #region 将数据写数据库表中去(大容量)例与数据库表例一至 /// /// 将数据写数据库表中去(大容量)例与数据库表例一至 /// /// 数据源内容 /// 表名 /// 返回是否成功! public bool BulkData(DataSet _Ds, string _TableName) { SqlCon.ConnectionString = ""; SqlCon.Open(); SqlBulkCopy SqlBulk = new SqlBulkCopy(SqlCon); SqlBulk.DestinationTableName = _TableName; try { SqlBulk.WriteToServer(_Ds.Tables[0], DataRowState.Unchanged); return true; } catch { return false; } finally { SqlCon.Close(); SqlCon.Dispose(); SqlBulk.Close(); } } #endregion }}
新闻热点
疑难解答