SQLServer2005中导入Excel格式数据到表中

合集下载

SQLServer读取及导入Excel数据

SQLServer读取及导入Excel数据

SQLServer读取及导⼊Excel数据⼀、引⾔使⽤SQL Server的OPENROWSET及OPENDATASOURCE函数,可以像查询数据表⼀样来读取Excel数据。

但是,要想让这两个函数能正常运⾏,可不是那么容易,假如没理解或没配置好的话,⼀路的报错会让你怀疑⼈⽣。

⼆、配置2.1、组件安装要想使⽤OPENROWSET及OPENDATASOURCE函数来读取Excel数据,⾸先要在⽬标的SQL Server主机上安装AccessDatabaseEngine组件。

1)换句话说:假如要操作的数据库是在本地的,那我在本地安装AccessDatabaseEngine即可;假如要操作的数据库安装在远程的服务器上,那么需在远程的服务器上安装AccessDatabaseEngine。

2)需要说明的是,读取Excel数据,只需安装AccessDatabaseEngine,并不⼀定要安装Office。

3)依⽬标的SQL Server主机的操作系统位数,来对应安装AccessDatabaseEngine版本。

本处Excel是2013版本(.xlsx),需安装Microsoft Access Database Engine 2010 Redistributable。

2.2、服务配置在⽬标的SQL Server主机上,Win+R调出运⾏,输⼊services.msc调出服务。

将SQL Server (MSSQLSERVER)、SQL Full-text Filter Daemon Launcher (MSSQLSERVER)两个服务的登录⾝份,改为本地系统账户。

2.3、参数配置在⽬标的SQL Server上打开查询分析器,执⾏以下语句:--1、开启导⼊功能(查看参数:exec sp_configure)exec sp_configure 'show advanced options',1reconfigureexec sp_configure 'Ad Hoc Distributed Queries',1reconfigure--2、允许在进程中使⽤ACE.OLEDB.12.0exec master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'AllowInProcess', 1--3、允许动态参数exec master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters', 12.3.1、开启导⼊功能对应的系统界⾯:2.3.2、允许在进程中使⽤ACE.OLEDB.12.0及允许动态参数对应的系统界⾯:三、测试3.1、测试语句在⽬标的SQL Server上打开查询分析器,执⾏以下语句:--1、使⽤查询分析器查询EXCEL--注意1:若连接的是本机的数据库,E:\EDI\年度返利费⽤表.xlsx指的是本机的⽂件路径。

SQLSERVER对单个表部分数据导出导入

SQLSERVER对单个表部分数据导出导入

SQLSERVER将一个表中的部分查询数据导入另一个表中的方法:一、若源表与目标表同在一台机器上,直接写SQL语句即可:源表名:prdproductinfo_Source 称目标表名:PrdProductInfo_GoalINSERT INTO [PrdProductInfo_Goal]([productTypeCode],[productTypeName],[productModelId],[productModelCode],[productModelName],[productModelSpec],[productCode],[productName],[madePlace],[packageLanguage],[devicesNumber],[madeBatchNumber],[madeCommandOrder],[madeDate],[outDate])(select [productTypeCode],[productTypeName],[productModelId],[productModelCode],[productModelName],[productModelSpec],[productCode],[productName],[madePlace],[packageLanguage],[devicesNumber],[madeBatchNumber],[madeCommandOrder],[madeDate],[outDate] from prdproductinfo_Source)二、若源表与目标表不在同一台机器上,则可先将源表中的数据导出到EXCEL中,再将EXCEL中的数据导入到目标表中。

操作步骤如下:A、将源表中的数据导出到EXCEL中,步骤如下:1、选中数据库,右键-→任务-→点击“导出数据”,如下图:2、点击下图中的“下一步”:3、在“选择数据源”窗口,保持默认值,点击“下一步”:4、在“选择目标”窗口,在“目标”项的下拉框中,选择“Microsoft Excel”在Excel文件路径一栏后,点击“浏览”,选择要导出的Excel文件的存放路径及Excel名称。

C_语言开发Excel数据智能导入SQL2005数据库_吴春龙

C_语言开发Excel数据智能导入SQL2005数据库_吴春龙

1 引言
Excel 数 据 导 入 数 据 库 通 常 有 两 种 方 法 , 一 是 读 取 Excel 文件, 直接将各单元格数据按顺序插入到数据库表相应的字 段 。 二 是 先 将 Excel 文 件 转 换 成 DataTable, 然 后 将 DataTable 记录插入到数据库表相应的字段。 这两种方法的共同点, 都必 须人工先创建数据库 , 然 后 再 根 据 Excel 文 件 内 容 , 创 建 相 应 的数据库表数据结构 , 不 同 的 Excel 文 件 就 需 要 人 工 创 建 不 同 的数据库表。 在实际 项 目 开 发 中 , 经 常 遇 到 将 多 个 Excel 文 件 数据导入数据库的情况, 此时就要人工创建多个相应的数据库 表数据结构。 这两种方法的主要缺点是, 做项目时既费时又费 力, 并且项目通用性 差 , 即 : 一 个 Excel 数 据 导 入 数 据 库 项 目 开发完成后, 它只能 完 成 事 先 设 定 的 Excel 数 据 的 导 入 , 而 不 能实现对任意 Excel 文件 数 据 的 导 入 。 针 对 上 述 问 题 , 开 发 了 Excel 数 据 智 能 导 入 数 据 库 的 项 目 例 程 , 该 例 程 能 够 自 动 创 建 数据库、 根据 Excel 文件 内 容 , 自 动 创 建 相 应 的 数 据 库 表 数 据 结构, 并将 Excel 数据智能导入 SQL2005 数据库。
单 “表 ”, 在 “表 ” 下 创 建 子 菜 单 “创 建 表 (根 据 Excel 数 据
格式), 并将 Excel 数据导入 数 据 库 表 中 ”。 设 置 一 级 菜 单 “显
示记录”, 在 “显示记录” 下创建子菜单 “显示数据库表中全

Microsoft Sql Server2005导入导出语句大全

Microsoft Sql Server2005导入导出语句大全

SQL语句导入导出大全/*******导出到excelEXEC master..xp_cmdshell'bcp SettleDB.dbo.shanghu out c:\temp1.xls -c-q-S"GNETDATA/GNETDATA"-U"sa"-P""'/***********导入ExcelSELECT*FROM OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data Source="c:\test.xls";User ID=Admin;Password=;Extended properties=Excel5.0')...xactions/*动态文档名declare@fn varchar(20),@s varchar(1000)set@fn='c:\test.xls'set@s='''Microsoft.Jet.OLEDB.4.0'',''Data Source="'+@fn+'";User ID=Admin;Password=;Extended properties=Excel5.0'''set@s='SELECT*FROM OpenDataSource('+@s+')...sheet1$'exec(@s)*/SELECT cast(cast(科目编号as numeric(10,2))as nvarchar(255))+''转换后的别名FROM OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data Source="c:\test.xls";User ID=Admin;Password=;Extended properties=Excel5.0')...xactions/**********************EXCEL导到远程SQL 中国网管博客insert OPENDATASOURCE('SQLOLEDB','Data Source=远程ip;User ID=sa;Password=密码').库名.dbo.表名(列名1,列名2)SELECT列名1,列名2FROM OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data Source="c:\test.xls";User ID=Admin;Password=;Extended properties=Excel5.0')...xactions/**导入文本文档EXEC master..xp_cmdshell'bcp dbname..tablename in c:\DT.txt-c-Sservername-Usa-Ppassword'/**导出文本文档EXEC master..xp_cmdshell'bcp dbname..tablename out c:\DT.txt-c -Sservername-Usa-Ppassword'或EXEC master..xp_cmdshell'bcp"Select*from dbname..tablename" queryout c:\DT.txt-c-Sservername-Usa-Ppassword'导出到TXT文本,用逗号分开exec master..xp_cmdshell'bcp"库名..表名"out"d:\tt.txt"-c-t,-U sa-P password'BULK INSERT库名..表名FROM'c:\test.txt'WITH(FIELDTERMINATOR=';',ROWTERMINATOR='\n'网管软件下载)--/*dBase IV文档select*fromOPENROWSET('MICROSOFT.JET.OLEDB.4.0','dBase IV;HDR=NO;IMEX=2;DATABASE=C:\','select*from[客户资料4.dbf]')--*/--/*dBase III文档select*fromOPENROWSET('MICROSOFT.JET.OLEDB.4.0','dBase III;HDR=NO;IMEX=2;DATABASE=C:\','select*from[客户资料3.dbf]')--*/--/*FoxPro数据库select*from openrowset('MSDASQL','Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:\', 'select*from[aa.DBF]')--*//**************导入DBF文档****************/select*from openrowset('MSDASQL','Driver=Microsoft Visual FoxPro Driver;SourceDB=e:\VFP98\data;SourceType=DBF','select*from customer where country!="USA"order by country')go/*****************导出到DBF***************/假如要导出数据到已生成结构(即现存的)FOXPRO表中,能够直接用下面的SQL语句bitsCN_cominsert into openrowset('MSDASQL','Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:\', 'select*from[aa.DBF]')select*from表说明:SourceDB=c:\指定foxpro表所在的文档夹aa.DBF指定foxpro表的文档名./*************导出到Access********************/insert into openrowset('Microsoft.Jet.OLEDB.4.0','x:\A.mdb';'admin';'',A表)select*from数据库名..B表/*************导入Access********************/insert into B表selet*from openrowset('Microsoft.Jet.OLEDB.4.0', 'x:\A.mdb';'admin';'',A表)文档名为参数declare@fname varchar(20)set@fname='d:\test.mdb'exec('SELECT a.*FROM opendatasource(''Microsoft.Jet.OLEDB.4.0'','''+@fname+''';''admin'';'''',topics)as a')SELECT*FROM OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data Source="f:\northwind.mdb";Jet OLEDB:Database Password=123;User ID=Admin;Password=;')...产品www_bitscn_com*********************导入xml文档DECLARE@idoc intDECLARE@doc varchar(1000)--sample XML documentSET@doc='<root><Customer cid="C1"name="Janine"city="Issaquah"><Order oid="O1"date="1/20/1996"amount="3.5"/><Order oid="O2"date="4/30/1997"amount="13.4">Customer was very satisfied</Order></Customer><Customer cid="C2"name="Ursula"city="Oelde"><Order oid="O3"date="7/14/1999"amount="100"note="Wrap it bluewhite red"><Urgency>Important</Urgency>Happy Customer.</Order><Order oid="O4"date="1/20/1996"amount="10000"/>中国网管博客</Customer></root>'--Create an internal representation of the XML document.EXEC sp_xml_preparedocument@idoc OUTPUT,@doc--Execute a SELECT statement using OPENXML rowset provider.SELECT*FROM OPENXML(@idoc,'/root/Customer/Order',1)WITH(oid char(5),amount float,comment ntext'text()')EXEC sp_xml_removedocument@idoc/**********************Excel导到Txt****************************************/想用select*into opendatasource(...)from opendatasource(...)实现将一个Excel文档内容导入到一个文本文档假设Excel中有两列,第一列为姓名,第二列为很行帐号(16位)且银行帐号导出到文本文档后分两部分,前8位和后8位分开。

[SQL]将Excel表数据导入SQL Server2005的几种方法归纳

[SQL]将Excel表数据导入SQL Server2005的几种方法归纳

[SQL]将Excel表数据导入SQL Server2005的几种方法归纳近日在巨轮着手车间负荷数据处理,反馈回来的数据是保存在Excel文件中的,我必须将其导入SQL Server2005中,供存储过程计算。

由于之前没有将Excel数据导入SQL Server2005的经验,因此摸索着花了一天时间才搞定。

下面将网上收集到的几种导入方法做个归纳。

方法一、利用SQL Server2005自带的DTS工具,手工导入:第一步是点击开始并选择运行并输入CMD然后在命令提示符里输入DTSWIZARD。

SQL Server 导入和导出向导的欢迎界面将显示出来,如下图所示:(也可以这样打开该界面:1、登录到 SQL Server Management Studio。

2、在“对象资源管理器”中右键单击“管理”,在弹出列表中单击“导入数据”。

)当你点击下一步按钮时,它将进入选择数据源向导界面。

用户应该选择数据源为Microsoft Office 12.0 Access Database Engine OLE DB Provider 然后在向导界面中点击属性…按钮,它将弹出数据链接属性界面。

在所有标签页中,双击数据源属性值并输入电子数据表的位置,例如“C:\Excel2007\Import\SampleData.xlsx”作为导入数据的数据源的Microsoft Office Excel 2007文件名称和路径。

然后双击扩展属性并选择Excel 12.0作为属性值。

到Microsoft Office Excel 2007的连接可以通过点击测试连接按钮来进行测试,如下图所示:在下一个页面中,数据源需要选为SQL Native Client,因为数据将导入到SQL Server 2005。

然后你需要选择数据所要导入的服务器名称,并需要配置合适的验证模式,它之后跟着数据库名称。

在这个例子中,我们将使用windows验证连接到本地SQL Server实例,所使用的数据库将是ImportExcel。

C#对SQLServer中的数据导入导出

C#对SQLServer中的数据导入导出
for (int i = 0; i < dt.Rows.Count; i++) { com.Parameters ["@ 学 号"].Value = dt.Rows[i]
[0].ToString(); com.Parameters ["@ 姓 名"].Value = dt.Rows[i]
[1].ToString(); com.Parameters ["@ 性 别"].Value = dt.Rows[i]
2009. 17 43
this.dgvStudent.ReadOnly = true; tsbSave.Enabled = false;
} /* 自Βιβλιοθήκη 义方法,导入 Excel 中的数据到数据集中 */
public DataSet ExcelToDS(string Path) {
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source = " + Path + ";" + "Extended Properties =Excel 8.0;";
Rows[i][8].ToString(); if (conn.State == ConnectionState.Closed) { conn.Open(); } com.ExecuteNonQuery(); conn.Close();
} MessageBox.Show("已成功将 EXCEL 数据导 入 到 数据库中! "); dgvStudent.DataSource = null; dgvStudent.ReadOnly = true; } catch (Exception ex) { MessageBox.Show (" 保 存 数 据 有 误 ! " + ex. Message.ToString()); } } private void tsbExit_Click(object sender, EventArgs e) { this.Close(); } 在导入学生 信 息 窗 体 中 , 导 入 Excel 数 据 到 数 据 集 的 代 码 放 在 了 一 个 自 定 义 方 法 ExcelToDS () 中 。 在 “ 导 入 Excel 文 件” 按钮的 Click 事 件 方 法 中 , 调 用 ExcelToDS () 方 法 , 得 到 数据集对象, 再将数据集对象的内容显示到表格控件 dgvStudent 中。

sqlserve 快速导出excel方法

sqlserve 快速导出excel方法

SQL Server 是一种强大的关系型数据库管理系统,它可以帮助用户存储和管理大量结构化数据。

在实际工作中,我们经常需要将数据库中的数据导出到 Excel 表格中进行分析和处理。

本文将介绍 SQL Server 快速导出 Excel 的方法,希望对大家有所帮助。

1. 使用 SQL Server Management Studio 导出数据我们可以使用 SQL Server Management Studio(SSMS)自带的功能来快速导出数据到 Excel。

具体操作步骤如下:打开 SQL Server Management Studio,并连接到相应的数据库实例。

在 Object Explorer 中找到需要导出数据的数据库,展开该数据库,找到要导出数据的表。

右键点击该表,选择 "Tasks" -> "Export Data"。

在 "Wee to the SQL Server Import and Export Wizard" 窗口中,点击 "Next"。

在 "Choose a Data Source" 窗口中,选择数据源的类型,一般选择"SQL Server Native Client",然后选择要导出数据的数据库实例,输入数据库登入信息,点击 "Next"。

在 "Choose a Destination" 窗口中,选择目标数据源的类型为"Microsoft Excel",然后输入 Excel 文件的路径和名称,点击 "Next"。

在 "Specify Table Copy or Query" 窗口中,选择 "Copy data from one or more tables or views",然后选择要导出的表,点击 "Next"。

SQL_Server数据与Excel表的导入导出

SQL_Server数据与Excel表的导入导出

SQL_Server数据与Excel表的导入导出SQL Server与Excel的数据交换几乎所有的数据库管理者或者是与数据库打过交道的朋友,几乎都或多或少的了解并使用过数据导入导出的功能以便完成支持诸如数据合并、归档和分析等任务,以及开发应用程序或升级数据库或服务器,而这一切的便利都已经被SQL Server中的数据转换服务(DTS)囊括其中,它提供了一套图形化工具和可编程对象,以帮助管理员和开发人员和需要进行数据维护的人员解决数据移动问题,其中包括将数据从分散的数据源中提取出来,并且转换、合并到一个或多个目标位置。

可以将任务组、工作流操作以及约束条件收集起来形成DTS 软件包,然后安排它定期运行或在某些事件发生后运行。

首先我们来先认识一下什么是DTS,它是一组工具,用于在一个或多个数据源(如Microsoft SQL Server、Microsoft Excel或Microsoft Access)间导入、导出和转换各种数据。

通过OLE DB(一种数据访问的开放式标准)提供连接,通过用于ODBC的OLE DB 提供程序来支持ODBC(开放式数据库连接)数据源。

在这里我们将以具体的实例来介绍DTS数据的导入导出功能。

例:使用DTS向导导出自己建立的dmtjxxb数据库中的dmtjxxb_register 表,到Excel表中。

操作步骤为:(1)启动SQL Server企业管理器(Enterprise Manager)后,点击SQL Server组,选择指定的服务器,如此次操作的数据库是我本地的数据库,如图:SQL Server企业管理器本地数据库选中要导出的数据库名称,点击鼠标右键,在弹出的菜单点击“所有任务”选择“导出数据”选项,如下图所示,就会弹出数据导入导出向导。

(2)单击“下一步”按钮,打开选择数据源对话框,如下图所示:首先在“数据源”旁的下拉列表中选择数据源。

在本例中选择Microsoft OLE DB Provider for SQL Server。

把Excel表导入SQL数据库的两种方法

把Excel表导入SQL数据库的两种方法

把Excel表导入SQL数据库的两种方法SQLServer自身就有导入功能的1、打开企业管理器,打开要导入数据的数据库,在表上按右键,所有任务-->导入数据,弹出DTS导入/导出向导,按下一步,2、选择数据源 Microsoft Excel 97-2000,文件名选择要导入的xls文件,按下一步,3、选择目的用于SQL Server 的Microsoft OLE DB提供程序,服务器选择本地(如果是本地数据库的话,如 VVV),使用SQL Server身份验证,用户名sa,密码为空,数据库选择要导入数据的数据库(如 client),按下一步,4、选择用一条查询指定要传输的数据,按下一步,5、按查询生成器,在源表列表中,有要导入的xls文件的列,将各列加入到右边的选中的列列表中,这一步一定要注意,加入列的顺序一定要与数据库中字段定义的顺序相同,否则将会出错,按下一步,6、选择要对数据进行排列的顺序,在这一步中选择的列就是在查询语句中 order by 后面所跟的列,按下一步,7、如果要全部导入,则选择全部行,按下一步,8、则会看到根据前面的操作生成的查询语句,确认无误后,按下一步,9、会看到表/工作表/Excel命名区域列表,在目的列,选择要导入数据的那个表,按下一步,10、选择立即运行,按下一步,11、会看到整个操作的摘要,按完成即可。

将EXCEL的数据提出放在数据集中,在通过循环将从表插入<%'On Error Resume Next'导入Excel电子表格数据到SQL Sever数据库Open_Conn(SqlDatabaseName,SqlPassword,SqlUsername,SqlLocalName,SqlConn)'创建数据库连接对象并打开数据库连接Dim ConnStr'SQL Server数据库连接参数:数据库名、用户密码、用户名、连接名(本地用local,外地用IP)ConnStr = "Provider=Sqloledb; User ID=" & SqlUsername & "; Password=" & SqlPassword & "; Initial Catalog = " & SqlDatabaseName & "; Data Source=" & SqlLocalName & ";"Set SqlConn = Server.CreateObject("ADODB.Connection")SqlConn.Open ConnStrIf Err ThenErr.ClearSet SqlConn = NothingResponse.Write "数据连接错误!"Response.EndEnd IfEndClose_Conn(SqlConn)'关闭数据库连接并清除数据库连接对象If IsObject(SqlConn) ThenSqlConn.CloseSet SqlConn = NothingEnd IfEndCall Open_Conn("Shat_EDG","","sa","(local)",SqlConn) '打开本地SQL Server数据库连接Call Open_Conn("Shat_EDG","","sa","ssh03",SqlConn1) '打开远程SQLServer数据库连接Get_EMP_CnName(NTACCNT)'根据用户NT帐号得到用户中文名Dim Sql1,Rs1Sql1 = "Select EMP_CNAME From RF_EMPLOYEE Where EMP_NTACCNT='"&NTACCNT&"'"Set Rs1 = Server.CreateObject("Adodb.RecordSet")Rs1.Open Sql1,SqlConn1,1,1If Rs1.Eof ThenGet_EMP_CnName = ""ElseGet_EMP_CnName = Rs1("EMP_CNAME")End IfRs1.CloseSet Rs1 = NothingEnd %><html><head><title>导入Excel电子表格数据到SQL Sever数据库</title><body bgcolor="#ACD9AF"><center><b>导入Excel电子表格数据到SQL Sever数据库</b></center><FORM METHOD="POST" name="form1">请选择数据源(本地库):<SELECT NAME="Table" title="请选择需要导入数据的表"><option></option><% Dim RsSqlDatabaseTableSet RsSqlDatabaseTable = SqlConn.OpenSchema(20)Do While Not RsSqlDatabaseTable.Eof %><option<%If Trim(Request("Table"))=RsSqlDatabaseTable(2) Then Response.Write " selected"%>><%=RsSqlDatabaseTable(2)%></option> <% RsSqlDatabaseTable.MoveNext:LoopSet RsSqlDatabaseTable = Nothing %></SELECT><input type=submit name=submit ="开始导出"><br>请选择目标表(远程库):<SELECT NAME="Table1" title="请选择需要导入数据的表"><option></option><% Dim RsSqlDatabaseTable1Set RsSqlDatabaseTable1 = SqlConn1.OpenSchema(20)Do While Not RsSqlDatabaseTable1.Eof %><option<%If Trim(Request("Table1"))=RsSqlDatabaseTable1(2) Then Response.Write " selected"%>><%=RsSqlDatabaseTable1(2)%></option> <% RsSqlDatabaseTable1.MoveNext:LoopSet RsSqlDatabaseTable1 = Nothing %></SELECT></FORM><font color=blue>导出过程中请不要刷新页面!</font><br><%If Trim(Request("Table1")) <> "" ThenDim Sql,RsSql = "Select * From Sheet1$" 'Sheet1$是我们实现用SQL Server自身数据转换功能得到的表名Set Rs = SqlConn.Execute(Sql)If Rs.Eof And Rs.Bof ThenResponse.write "没有找到您需要的数据!!<br>"ElseDo While Not Rs.EofSqlInsert = "Insert Into "&Trim(Request("Table1"))&"(EDG_Project_Name,EDG_Project_No,EDG_Project_VM,EDG_Project_VM_CnName ,EDG_Project_M,EDG_Project_M_CnName,EDG_Project_Director,EDG_Project_ Director_CnName) s ('"&Trim(Rs("工程名称"))&"','"&Trim(Rs("工程编号"))&"','"&Trim(Rs("项目副理"))&"','"&Trim(Rs("项目副理"))&" ("&Get_EMP_CnName(Trim(Rs("项目副理")))&")"&"','"&Trim(Rs("项目经理"))&"','"&Trim(Rs("项目经理"))&" ("&Get_EMP_CnName(Trim(Rs("项目经理")))&")"&"','"&Trim(Rs("项目总监"))&"','"&Trim(Rs("项目总监"))&" ("&Get_EMP_CnName(Trim(Rs("项目总监")))&")"&"')"' Response.Write SqlInsert'此处插入的值根据实际数据库结构进行调整SqlConn1.Execute(SqlInsert)'插入Excel表格裏所有东东Rs.MoveNextLoopResponse.Write "<font color=red>恭喜,成功导出数据!^_^</font><br>" End IfRs.CloseSet Rs = NothingEnd IfCall Close_Conn(SqlConn) '关闭Excel数据库连接Call Close_Conn(SqlConn1) '关闭SQL Server数据库连接 %>。

Excel与SQLServer数据交互

Excel与SQLServer数据交互

Excel与SQLServer数据交互第⼀部分:在Excel导⼊SQL Server中的数据:1. 在“数据”选项卡上的“获取外部数据”组中,单击“⾃其他来源”,然后单击“来⾃SQL Server”。

2. 在“服务器名称”框中,键⼊要连接的 SQL Server 计算机的名称。

3. 在“登录凭据”下,执⾏下列操作之⼀:3.1. 要使⽤当前的 Microsoft Windows⽤户名和密码,请单击“使⽤Windows ⾝份验证”。

2. 要输⼊数据库⽤户名和密码,请单击“使⽤下列⽤户名和密码”,然后在相应的“⽤户名”和“密码”框中键⼊您的⽤户名和密码。

3. 在“选择数据库”下,选择⼀个数据库。

在“连接到指定表”下,选择⼀个特定的表或视图。

或者,也可以清除“连接到指定表”复选框,以便系统向使⽤此连接⽂件的其他⽤户提⽰表和视图的列表。

4. (可选)在“⽂件名”框中,修改建议的⽂件名。

单击“浏览”以更改默认⽂件位置(“我的数据源”)。

5. (可选)分别在“说明”、“友好名称”和“搜索关键字”框中键⼊对⽂件的说明、友好名称及常⽤搜索⽂字。

6. 要确保更新数据时始终使⽤该连接⽂件,请单击“始终尝试使⽤此⽂件来刷新此数据”复选框。

此选项可确保使⽤该连接⽂件的所有⼯作簿始终会使⽤对该连接⽂件的更新。

7. 若要指定在将⼯作簿发布到 Sharepoint Foundation 2010⽹站并在 Web浏览器中打开它时如何访问数据透视表的外部数据源,请单击“验证设置”,然后选择以下选项之⼀以登录到相应的数据源:8.9. 单击“确定”,然后单击“完成”以关闭“数据连接向导”。

10. 将显⽰“导⼊数据”对话框。

11. 在“请选择该数据在⼯作簿中的显⽰⽅式”下,执⾏下列操作之⼀:12.Windows⾝份验证选择此选项可使⽤当前⽤户的 Windows⽤户名和密码。

这是最安全的⽅法,但在许多⽤户连接到服务器的情况下,此⽅法会影响性能。

SQLServer数据库中批量导入数据的四种方法

SQLServer数据库中批量导入数据的四种方法

SQLServer数据库中批量导入数据的四种方法在软件项目实施的时候,数据导入一直是项目人员比较头疼的问题。

其实,在SQL Server中集成了很多成批导入数据的方法。

有些项目实施顾问头疼的问题,在我们数据库管理员眼中,是小菜一碟。

现在的重点就是,如何让用户了解这些方法,让数据导入变得轻松一些。

第一:使用Select Into语句若企业数据库都采用的是SQL Server数据库的话,则可以利用Select Into语句来实现数据的导入。

Select Into语句,他的作用就是把数据从另外一个数据库中查询出来,然后加入到某个用户指定的表中。

在使用这条语句的时候,需要注意几个方面的内容。

一、是需要在目的数据库中先建立相关的表。

如想把进销存系统数据库(SQLServer)中的产品信息表(Product)导入到ERP系统中的产品信息表(M_Product)中。

则前期是在ERP系统的数据库中已经建立了这张产品信息表。

二、是这种方法只复制表中的数据,而不复制表中的索引。

如在进销存系统数据中的产品信息表中,在产品编号、产品种类等字段上建立了索引。

则利用Select Into语句把数据复制到ERP系统的表中的时候,只是复制了数据内容的本身,而不会复制索引等信息。

三、是这条语句使用具有局限性。

一般情况下,这只能够在SQL Server数据库中采用。

不过,对于SQL Server不同版本的数据库,如2008或者2003,还都是兼容的。

若需要导入的对象数据库不是SQL Server的,则需要采用其他的方法。

四、是采用这条语句的话,在目的表中必须不存在数据。

否则的话,目的表中的数据会被清除。

也就是说,这个语句不支持表与表数据的合并。

在SQL Server中,有一条类似的语句,可以实现这个功能。

这条语句就是:Insert Into。

他的作用就是把另外一张表中的数据插入到当前表中。

若用户想要的时表与表数据的合并,则可以采用这条语句。

将Excel文件数据导入到SqlServer数据库的三种方案

将Excel文件数据导入到SqlServer数据库的三种方案

将Excel⽂件数据导⼊到SqlServer数据库的三种⽅案最近在⼀个项⽬中需要⽤到Excel⽂件导⼊数据库的功能,本⼈很懒,所以到⽹上搜了⼀堆⽅法,但是通过对⽐,觉得⼀下三种是⽐较好⽤或者不是很常见的⽅法,希望对⼤家有所帮助。

⽅案⼀:通过OleDB⽅式获取Excel⽂件的数据,然后通过DataSet中转到SQL Server,这种⽅法的优点是⾮常的灵活,可以对Excel表中的各个单元格进⾏⽤户所需的操作。

1. openFileDialog = new OpenFileDialog();2. openFileDialog.Filter = "Excel files(*.xls)|*.xls";3.4. if(openFileDialog.ShowDialog()==DialogResult.OK)5. {6. FileInfo fileInfo = new FileInfo(openFileDialog.FileName);7. string filePath = fileInfo.FullName;8. string connExcel = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";Extended Properties=Excel 8.0";9.10. try11. {12. OleDbConnection oleDbConnection = new OleDbConnection(connExcel);13. oleDbConnection.Open();14.15. //获取excel表16. DataTable dataTable = oleDbConnection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);17.18. //获取sheet名,其中[0][1]...[N]: 按名称排列的表单元素19. string tableName = dataTable.Rows[0][2].ToString().Trim();20. tableName = "[" + tableName.Replace("'","") + "]";21.22. //利⽤SQL语句从Excel⽂件⾥获取数据23. //string query = "SELECT classDate,classPlace,classTeacher,classTitle,classID FROM " + tableName;24. string query = "SELECT ⽇期,开课城市,讲师,课程名称,持续时间 FROM " + tableName;25. dataSet = new DataSet();26.27. //OleDbCommand oleCommand = new OleDbCommand(query, oleDbConnection);28. //OleDbDataAdapter oleAdapter = new OleDbDataAdapter(oleCommand);29. OleDbDataAdapter oleAdapter = new OleDbDataAdapter(query,connExcel);30. oleAdapter.Fill(dataSet,"gch_Class_Info");31. //从excel⽂件获得数据后,插⼊记录到SQL Server的数据表32. DataTable dataTable1 = new DataTable();33.34. SqlDataAdapter sqlDA1 = new SqlDataAdapter(@"SELECT classID, classDate,35. classPlace, classTeacher, classTitle, durativeDate FROM gch_Class_Info",sqlConnection1);36.37. //SqlCommandBuilder sqlCB1 = new SqlCommandBuilder(sqlDA1);38.39. sqlDA1.Fill(dataTable1);40.41. foreach(DataRow dataRow in dataSet.Tables["gch_Class_Info"].Rows)42. {43. DataRow dataRow1 = dataTable1.NewRow();44.45. dataRow1["classDate"] = dataRow["⽇期"];46. dataRow1["classPlace"] = dataRow["开课城市"];47. dataRow1["classTeacher"] = dataRow["讲师"];48. dataRow1["classTitle"] = dataRow["课程名称"];49. dataRow1["durativeDate"] = dataRow["持续时间"];50.51. dataTable1.Rows.Add(dataRow1);52. }53.54. Console.WriteLine("新插⼊ " + dataTable1.Rows.Count.ToString() + " 条记录");55. sqlDA1.Update(dataTable1);56.57. oleDbConnection.Close();58.59. }60. catch(Exception ex)61. {62. Console.WriteLine(ex.ToString());63. }64. }⽅案⼆:直接通过SQL语句执⾏SQL Server的功能函数将Excel⽂件转换到SQL Server数据库。

SQL 2005 中表的导入导出

SQL 2005 中表的导入导出
--导出表的情况
EXEC master..xp_cmdshell 'bcp 数据库名.dbo.表名 out "c:\test.xls" /c -/S"服务器名" /U"用户名" -P"密码"'
--导出查询的情况
EXEC master..xp_cmdshell 'bcp "SELECT au_fname, au_lname FROM pubs..authors ORDER BY au_lname" queryout "c:\test.xls" /c -/S"服务器名" /U"用户名" -P"密码"'
--方法三:
select * into 要生成的SQL表名 from openrowset('MSDASQL','Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:\','select * from dbf表名.DBF')
--如果接受导入数据的SQL表不存在,导入时创建
--方法一:
select * into 要生成的SQL表名 from OPENROWSET('MICROSOFT.JET.OLEDB.4.0','dBase IV;HDR=NO;IMEX=2;DATABASE=c:\','select * from dbf表名.dbf')
--如果接受数据导入的表已经存在
insert into 表 select * from

Excel表格里的数据导入SQLSERVER数据库

Excel表格里的数据导入SQLSERVER数据库

使用第三方工具
总结词
除了SQL Server自带的功能外,还有许多第三方工具可以帮助用户将Excel数据导入SQL Server。
详细描述
这些第三方工具通常提供了更多的功能和灵活性,例如支持更多的文件格式、自动映射列、数据清洗和转换等。 用户可以根据自己的需求选择合适的工具,如DataGrip、Tableau、Power BI等。
逻辑检查
检查数据是否符合业务逻 辑,如年龄字段是否合理。
参照完整性
检查外键引用是否有效, 关联的数据是否一致。
数据性能优化
索引优化
根据查询需求,为常用查询字段 建立合适的索引。
查询优化
优化导入后的查询语句,提高查询 效率。
数据分区
根据数据的特点和使用频率,对表 进行分区管理。
THANKS
感谢观看
02
Excel数据导入SQL Server的方法
使用SQL Server Integration Services (SSIS)
总结词
SSIS是SQL Server提供的一个强大的ETL工具,可以用来导入、导出和转换数据 。
详细描述
通过SSIS,用户可以创建一个数据流任务,将Excel文件作为源数据,然后将其导入 到SQL Server数据库中。在SSIS中,用户可以定义数据清洗、转换和加载的规则, 确保数据准确无误地导入到目标表中。
通过导入Excel数据到SQL Server, 可以自动化地完成数据清洗、转换 和加载等任务,减少手动操作的时 间和人力成本。
批量处理
导入大量数据时,使用SQL Server的批量导入功能可以显著 提高数据处理的效率,减少等待 时间。
保证数据一致性
数据格式统一

SQLserver数据导入操作文档

SQLserver数据导入操作文档

SQL Server数据库维护操作指南第一部分数据导入一、概述本文主要讲述SQL Server数据库怎么上传Excel数据文件,以及在上传数据时需要注意的地方和遇到问题时的处理方法二、操作步骤1、打开SQL Server Management Studio2、在打开的SQL Server Management Studio中,点击“数据库”,找要上传数据的数据库,例如本例选择的数据库是“Insurance”。

3、找到需要上传的数据库“Insurance”后,右击“Insurance”—任务—导入数据4、弹出SQL Server导入和导出向导,在“数据源(D)”的下拉菜单中选择“Microsoft Excel”注意:系统内必须安装Microsoft Office,否则下拉列表中没有“Microsoft Excel”选项5、在弹出的选择数据源的对话框中点击Excel文件路径右侧的“浏览”,选择需要上传的数据文件;Excel版本选择“Microsoft Excel 2007”;选中“首行包含列名称”。

单击下一步注释:首行包含列名称的意思是数据文件的第一行和数据库的列名相同,这样在上传数据时会自动匹配列,不需要手动编辑映射6、在弹出的选择目标对话框中可以更改目标数据库、选择服务器、更改身份验证、目标数据库,在这里我们选择默认。

单击下一步7、在弹出的指定表复选框或查询对话框中选择“复制一个或多个表或试图的数据(C)”,单击下一步8、在弹出的选择源表和源视图对话框中选择“源”和“目标”,我们这里选择的目标是galaxy_acceptInsurance表格注释:“源”是需要导入的Excel表格,“目标”是需要导入数据的数据库总的表点击下面的编辑映射可以对相关的数据字段进行编辑,我们这里因为上面选择了首行包含列名称,所以自动匹配了目标,不需要手动编辑;点击预览可以查看要数据导入后的格式9、在弹出的查看数据类型映射对话框中,直接单击下一步10、在弹出的保存并运行包对话框中选择立即运行,单击下一步11、直接单击完成12、数据导入成功,可以看到已导入2行数据,单击关闭第二部分常见问题及解决方法:三、在导入数据时可能会出现导入失败,下面是几种现象是导入失败的原因1、导入的数据长度超过数据库给定的长度,例如:电话号码上面写成了身份证,解决方法:在导入数据时仔细观察导入到多少行出现错误,可以到Excel表格里面找到这行,检查错误的原因。

SQL Server与Excel数据互导解答

SQL Server与Excel数据互导解答

从SQL Server中导入/导出Excel 的基本方法/*=================== 导入/导出Excel 的基本方法===================*/从Excel文件中,导入数据到SQL数据库中,很简单,直接用下面的语句:/*===================================================================*/--如果接受数据导入的表已经存在insert into 表select * fromOPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=c:test.xls',sheet1$)--如果导入数据并生成表select * into 表fromOPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=c:test.xls',sheet1$)/*===================================================================*/--如果从SQL数据库中,导出数据到Excel,如果Excel文件已经存在,而且已经按照要接收的数据创建好表头,就可以简单的用:insert into OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=c:test.xls',sheet1$)select * from 表--如果Excel文件不存在,也可以用BCP来导成类Excel的文件,注意大小写:--导出表的情况EXEC master..xp_cmdshell 'bcp 数据库名.dbo.表名out "c:test.xls" /c -/S"服务器名" /U"用户名" -P"密码"'--导出查询的情况EXEC master..xp_cmdshell 'bcp "SELECT au_fname, au_lname FROM pubs..authors ORDER BY au_lname" queryout "c:test.xls" /c -/S"服务器名" /U"用户名" -P"密码"'/*--说明:c:test.xls 为导入/导出的Excel文件名.sheet1$ 为Excel文件的工作表名,一般要加上$才能正常使用.--*/--上面已经说过,用BCP导出的是类Excel文件,其实质为文本文件,--要导出真正的Excel文件.就用下面的方法/*--数据导出EXCEL导出表中的数据到Excel,包含字段名,文件为真正的Excel文件,如果文件不存在,将自动创建文件,如果表不存在,将自动创建表基于通用性考虑,仅支持导出标准数据类型--邹建2003.10--*//*--调用示例p_exporttb @tbname='地区资料',@path='c:',@fname='aa.xls'--*/if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_exporttb]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)drop procedure [dbo].[p_exporttb]GOcreate proc p_exporttb@tbname sysname, --要导出的表名@path nvarchar(1000), --文件存放目录@fname nvarchar(250)='' --文件名,默认为表名asdeclare @err int,@src nvarchar(255),@desc nvarchar(255),@out intdeclare @obj int,@constr nvarchar(1000),@sql varchar(8000),@fdlist varchar(8000)--参数检测if isnull(@fname,'')='' set @fname=@tbname+'.xls'--检查文件是否已经存在if right(@path,1)<>'' set @path=@path+''create table #tb(a bit,b bit,c bit)set @sql=@path+@fnameinsert into #tb exec master..xp_fileexist @sql--数据库创建语句set @sql=@path+@fnameif exists(select 1 from #tb where a=1)set @constr='DRIVER={Microsoft Excel Driver (*.xls)};DSN='''';READONLY=FALSE' +';CREATE_DB=" +';DATABASE='+@sql+'"'--连接数据库exec @err=sp_oacreate 'adodb.connection',@obj outif @err<>0 goto lberrexec @err=sp_oamethod @obj,'open',null,@constrif @err<>0 goto lberr/*--如果覆盖已经存在的表,就加上下面的语句--创建之前先删除表/如果存在的话select @sql='drop table ['+@tbname+']'exec @err=sp_oamethod @obj,'execute',@out out,@sql--*/--创建表的SQLselect @sql='',@fdlist=''select @fdlist=@fdlist+',['++']',@sql=@sql+',['++'] '+case when in('char','nchar','varchar','nvarchar') then'text('+cast(case when a.length>255 then 255 else a.length end as varchar)+')'when in('tynyint','int','bigint','tinyint') then 'int'when in('smalldatetime','datetime') then 'datetime'when in('money','smallmoney') then 'money'else endFROM syscolumns a left join systypes b on a.xtype=b.xusertypewhere not in('image','text','uniqueidentifier','sql_variant','ntext','varbinary','binary','timestamp')and object_id(@tbname)=idselect @sql='create table ['+@tbname+']('+substring(@sql,2,8000)+')',@fdlist=substring(@fdlist,2,8000)exec @err=sp_oamethod @obj,'execute',@out out,@sqlif @err<>0 goto lberrexec @err=sp_oadestroy @obj--导入数据set @sql='openrowset(''MICROSOFT.JET.OLEDB.4.0'',''Excel 5.0;HDR=YES;DATABASE='+@path+@fname+''',['+@tbname+'$])'exec('insert into '+@sql+'('+@fdlist+') select '+@fdlist+' from '+@tbname)returnlberr:exec sp_oageterrorinfo 0,@src out,@desc outlbexit:select cast(@err as varbinary(4)) as 错误号,@src as 错误源,@desc as 错误描述select @sql,@constr,@fdlistgo--上面是导表的,下面是导查询语句的.-- 导出到excel--set @sql=’bcp "’+@tbname+’" out "c:\aa.txt" /S"(local)" /P"" /c’exec master..xp_cmdshell 'bcp "sk_xh.dbo.pensheng" out "c:\aa.xls" /S"kl-ps" /P"" / c'--导入ExcelSELECT * INTO pensheng FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0;Database=e:\dr.xls',[sheet1$])--ORSELECT * INTO pensheng FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0;Database=e:\dr.xls', [sheet1$])--ORSELECT * INTO pensheng FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0;Database=e:\dr.xls', 'SELECT * FROM [sheet1$]')/*动态文件名declare @fn varchar(20),@s varchar(1000)set @fn = 'c:\test.xls'set @s ='''Microsoft.Jet.OLEDB.4.0'',''Data Source="'+@fn+'";User ID=Admin;Password=;Extended properties=Excel 5.0'''set @s = 'SELECT * FROM OpenDataSource ('+@s+')...sheet1$'exec(@s)*/SELECT cast(cast(科目编号as numeric(10,2)) as nvarchar(255))+'' 转换后的别名FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source="c:\test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')... xactions/********************** EXCEL导到远程SQLinsert OPENDATASOURCE('SQLOLEDB','Data Source=远程ip;User ID=sa;Password=密码').库名.dbo.表名(列名1,列名2)SELECT 列名1,列名2FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source="c:\test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')... xactions/** 导入文本文件EXEC master..xp_cmdshell 'bcp dbname..tablename in c:\DT.txt -c -Sservername -U sa -Ppassword'/** 导出文本文件EXEC master..xp_cmdshell 'bcp dbname..tablename out c:\DT.txt -c -Sservername -Usa -Ppassword'或EXEC master..xp_cmdshell 'bcp "Select * from dbname..tablename" queryout c:\DT. txt -c -Sservername -Usa -Ppassword'导出到TXT文本,用逗号分开exec master..xp_cmdshell 'bcp "库名..表名" out "d:\tt.txt" -c -t ,-U sa -P password'BULK INSERT 库名..表名FROM 'c:\test.txt'WITH (FIELDTERMINATOR = ';',ROWTERMINATOR = '\n')--/* dBase IV文件select * fromOPENROWSET('MICROSOFT.JET.OLEDB.4.0','dBase IV;HDR=NO;IMEX=2;DATABASE=C:\','select * from [客户资料4.dbf]')--*/--/* dBase III文件select * fromOPENROWSET('MICROSOFT.JET.OLEDB.4.0','dBase III;HDR=NO;IMEX=2;DATABASE=C:\','select * from [客户资料3.dbf]')--*/--/* FoxPro 数据库select * from openrowset('MSDASQL','Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:\','select * from [aa.DBF]')--*//**************导入DBF文件****************/select * from openrowset('MSDASQL','Driver=Microsoft Visual FoxPro Driver;SourceDB=e:\VFP98\data;SourceType=DBF','select * from customer where country != "USA" order by country')go/***************** 导出到DBF ***************/如果要导出数据到已经生成结构(即现存的)FOXPRO表中,可以直接用下面的SQL语句insert into openrowset('MSDASQL','Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:\','select * from [aa.DBF]')select * from 表说明:SourceDB=c:\ 指定foxpro表所在的文件夹aa.DBF 指定foxpro表的文件名./*************导出到Access********************/insert into openrowset('Microsoft.Jet.OLEDB.4.0','x:\A.mdb';'admin';'',A表) select * from 数据库名..B表/*************导入Access********************/insert into B表selet * from openrowset('Microsoft.Jet.OLEDB.4.0','x:\A.mdb';'admin';'',A表)文件名为参数declare @fname varchar(20)set @fname = 'd:\test.mdb'exec('SELECT a.* FROM opendatasource(''Microsoft.Jet.OLEDB.4.0'','''+@fname+''';''admin'';'''', topics) as a ')SELECT *FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source="f:\northwind.mdb";Jet OLEDB:Database Password=123;User ID=Admin;P assword=;')...产品********************* 导入xml文件DECLARE @idoc intDECLARE @doc varchar(1000)--sample XML documentSET @doc ='<root><Customer cid= "C1" name="Janine" city="Issaquah"><Order oid="O1" date="1/20/1996" amount="3.5" /><Order oid="O2" date="4/30/1997" amount="13.4">Customer was very sati sfied</Order></Customer><Customer cid="C2" name="Ursula" city="Oelde" ><Order oid="O3" date="7/14/1999" amount="100" note="Wrap it bluewhite red"><Urgency>Important</Urgency>Happy Customer.</Order><Order oid="O4" date="1/20/1996" amount="10000"/></Customer></root>'-- Create an internal representation of the XML document.EXEC sp_xml_preparedocument @idoc OUTPUT, @doc-- Execute a SELECT statement using OPENXML rowset provider.SELECT *FROM OPENXML (@idoc, '/root/Customer/Order', 1)WITH (oid char(5),amount float,comment ntext 'text()')EXEC sp_xml_removedocument @idocTop5 楼pensheng(云飞)回复于2005-08-28 13:45:17 得分0/**********************Excel导到Txt****************************************/想用select * into opendatasource(...) from opendatasource(...)实现将一个Excel文件内容导入到一个文本文件假设Excel中有两列,第一列为姓名,第二列为很行帐号(16位)且银行帐号导出到文本文件后分两部分,前8位和后8位分开。

图解SSIS批量导入Excel文件

图解SSIS批量导入Excel文件

图解SSIS批量导入Excel文件(转)一、EXCEL文件批量导入将一个目录下(可以包括子目录)结构一样的excel文件批量导入sql2005,可以用ssis来定制任务.下面用大量图片完全说明整个过程.1、建立测试excel文件,假设有a b c d四个字段,保存在f:\excel目录下并复制很多个一样的文件2、打开Microsoft Visual Studio 2005或者随sql2005安装的SQL Server Business Intelligence Development Studio,新建一个商业智能项目。

3、工具箱拖一个Foreach循环容器4、编辑容器,设定遍历目录和其他参数5、新建一个映射变量,用来存储遍历当中的文件路径6、怎么存储不用你关心,你只要指定一个变量名就ok了7、确定后,容器生成完毕,接着拖一个数据流任务到容器中8、切换到数据流tab页,拖一个excel源9、编辑excel源,选择一个刚刚的任意excel10、选择一个sheet11、拖一个ole db目标到数据流中12、按住excel源的绿色箭头,拖动到oledb目标上13、编辑oledb目标,选择一个sqlserver数据表,这个表必须是已经存在的,这里我们建立一个ssistest数据库,生成一个和excel结构一样的表ttcreate table tt(a varchar(100),b varchar(100),c varchar(100),d varchar(100))然后用oledb去连接14、编辑字段映射关系,结构一样,它会自动找到15、编辑下面的excel链接管理器,这里将用到foreach的变量来代替刚刚选择的那个excel文件16、连接管理器的属性中设置变量的映射用法17、expressions的属性编辑列表中,左边选择excelfilepath,这个是连接管理器的属性,我们将用变量来代替18、再点击表达式的属性编辑按钮,把列表中的变量用户::xlspath变量拖到下面的表达式框中19、这时ssis将会报错,并给出警告20、上图中黄颜色的区域,右键-属性,打开控制流的属性窗口,设置DelayValidation为True就可以了。

sqlserver导入excel等数据

sqlserver导入excel等数据

sqlserver导入excel等数据
1.首先打开并登陆sql server数据库
2.选择要将表导入的数据库,右击选择任务-->导入数据
3.在弹出的窗口中选择下一步
4.在弹出的窗口中选择数据源,也就是从哪种文件导入,sql server支持多种格式的导入,这里选择excel,并点击下面的浏览,找到要导入的excel文件,并点击下一步
5.在跳出的窗口中选择数据源,服务器名称(默认填好,不用动),身份验证方式可以选择window验证或者账号验证都可以,同时下面的数据库此时还可以选择更改
6.选择第一个:复制一个或多个表或视图的数据,点击下一步
7.重要一步:选择要导入的表,默认新建表Sheet1$,也可以自己选择已有的表,但注意的是表的数据类型要一直才能导入已存在的表中,下面可以点击预览查看将要导入的数据
8.最后点击下一步(默认立即运行),然后点击完成就导入了。

这里是选择新建表就可以看到导入的excel数据了。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档