搜索
简帛阁>技术文章>SQL SERVER 导入EXCEL的存储过程

SQL SERVER 导入EXCEL的存储过程

1.先在查询分析器里执行

exec sp_configure "show advanced options",1
 reconfigure
 exec sp_configure "Ad Hoc Distributed Queries",1
 reconfigure

2.存储过程

ALTER procedure [dbo].[sp_ImpCustomer]
 @ExcelPath varchar(1000),
 @SheetName varchar(100)='Sheet1',
 @ExcelField varchar(500)='帐号,姓名,机构,经纪人,区域经理,销售行政,电话',
 @TableName varchar(100)='t_busi_callingcust'
as
begin
    set nocount on
    declare @strSql varchar(4000)
    -- 打开开关 
 --exec sp_configure "show advanced options",1
 --reconfigure
 --exec sp_configure "Ad Hoc Distributed Queries",1
 --reconfigure
 -- 重启sql full-text filter daemon launcher,sql server俩个服务
 IF EXISTS  (SELECT * FROM dbo.SysObjects WHERE ID = object_id(@TableName)
  AND OBJECTPROPERTY(ID, 'IsTable') = 1)
  TRUNCATE TABLE t_busi_callingcust -- 删除表中的所有数据
 else
     -- 创建表
  create table t_busi_callingcust(
  Accounts varchar(20) null,
  CustName varchar(50) null,
  Orgazition varchar(50) null,
  [Broker] varchar(50) null,
  DistrictManager varchar(50) null,
  SalesAdmin varchar(50) null,
  Tel varchar(30) null
  )
 SET @ExcelPath = '''Microsoft.Jet.OLEDB.4.0'',''Data Source="' + @ExcelPath + '";User ID=Admin;Password=;Extended properties=Excel 5.0'''
 SET @strSql = 'insert into ' +@TableName+' select * from opendatasource('+@ExcelPath+')...'+@SheetName+'$'
 --print @strsql
 EXEC(@strSql)
 set nocount off
end

1先在查询分析器里执行execsp_configureshowadvancedoptions,1reconfigureexecsp_configureAdHocDistributedQueries,1
一、引言使用SQLServerOPENROWSET及OPENDATASOURCE函数,可以像查询数据表一样来读取Excel数据。但是,要想让这两个函数能正常运行,可不是那么容易,假如没理解或没配置
使用环境:Win10x64Python:364SqlServer:2008R2因为近期需要将excel导入到SQLServer,但是使用是其他语言,闲来无事就尝试着用python进行导入,速度还是挺
如下所示:代码如下:"AWU","102300","ZX2403","2609997000","2609997000","3016924000","","3091775000","","","QCR0
*说明:复制表(只复制结构,源表名:a新表名:b)select*intobfromawhere1<>1*说明:拷贝表(拷贝数据,源表名:a目标表名:b)insertintob(a,b,c)
存储过程功能优点为什么要使用存储过程?以下是存储过程技术几大主要优点:预编译执行程序。SQLServer只需要对每一个存储过程进行一次编译,然后就可以重复使用执行计划。这个特点通过重复调用存储程序
可以创建一个过程供永久使用,或在一个会话中临时使用(局部临时过程),或在所有会话中临时使用(全局临时过程)。也可以创建在MicrosoftSQLServer启动时自动运行存储过程。语法CREATEP
qlserver批量导出存储过程在查询分析器中,选中数据库——》右键“任务”——》在弹出菜单中选择“生成脚本”——》“下一步”——》选择你要存储过程所在数据库——》“下一步”——》勾选“存储过程”,
建立表:CREATETABLE[TestTable]([ID][int]IDENTITY(1,1)NOTNULL,[FirstName][nvarchar](100)COLLATEChinese_PR
一、定义存储过程存储过程需要有返回值时,可以使用output关键字或return关键字。output和return不能同时使用定义createprocedureprogram@parameteri