SQLServer excel和txt的导入导出

  1. exec sp_configure 'show advanced options',1 --启用高级配置选项设置  
  2. reconfigure;  
  3. --reconfigure with override; --reconfigure不行则都用这个  
  4. exec sp_configure 'Ad Hoc Distributed Queries',1    --启用 OPENROWSET,OpenDataSource  
  5. reconfigure;  
  6. exec sp_configure 'xp_cmdshell',1   --启用xp_cmdshell  
  7. reconfigure;  
  8.   
  9. -----------------------------------------------------------------------------------------  
  10. -----------------------------------------------------------------------------------------  
  11.   
  12. --【导入excel】  
  13. /*  
  14. 服务器对象-->链接服务器-->访问接口-->Microsoft.Jet.OLEDB.4.0(右键属性)-->把[允许进程内]前面的钩去掉。  
  15. HDR: 表示第一行是否字段名,默认是YES  
  16. IMEX: 0/1/2/,分别为 导出/导入/混合模式,  
  17. IMEX参考:http://bbs.csdn.net/topics/120096529  
  18. */  
  19.   
  20. select * from OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 5.0;HDR=YES;IMEX=1;DATABASE=F:\kk1.xls',sheet1$)  
  21. select * from OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 5.0;HDR=YES;IMEX=1;DATABASE=F:\kk1.xls',sheet2$)  
  22.   
  23. SELECT * FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source="F:\kk1.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[sheet1$]      
  24. SELECT * FROM OpenDataSource( 'Microsoft.ACE.OLEDB.12.0','Data Source="F:\kk1.xls";User ID=Admin;Password=;Extended properties=Excel 12.0')...[sheet2$]   
  25.   
  26. 【出现此错误,把Excel表打开再运行上面的语句。】  
  27. 链接服务器"(null)"的 OLE DB 访问接口 "Microsoft.Jet.OLEDB.4.0" 返回了消息 "外部表不是预期的格式。"。  
  28. '消息 7303,级别 16,状态 1,第 1 行  
  29. 无法初始化链接服务器 "(null)" 的 OLE DB 访问接口 "Microsoft.Jet.OLEDB.4.0" 的数据源对象。'  
  30.   
  31.   
  32.   
  33. --【导出excel】  
  34. EXEC master..xp_cmdshell 'bcp test..tb out F:\out.xls -c -Slocalhost -Usa -Psa'  
  35. EXEC master..xp_cmdshell 'bcp "Select * from test..tb" queryout F:\out.xls -c -Slocalhost -Usa -Psa'  
  36.   
  37. -----------------------------------------------------------------------------------------  
  38. -----------------------------------------------------------------------------------------  
  39.   
  40. --【导入TXT】注意:txt 文件中无列名,都为内容。  
  41.   
  42. --  drop table temp  
  43. create table temp(ID INT,NAME VARCHAR(10))  
  44.   
  45. BULK INSERT temp FROM 'F:\kk1.txt'  
  46. WITH(  
  47.     FIELDTERMINATOR='|',  
  48.     ROWTERMINATOR='\n'  
  49. )  
  50.   
  51.   
  52. --默认列分隔符为: 竖线(|)  
  53. EXEC master..xp_cmdshell 'bcp test..temp in F:\kk.txt -c -Slocalhost -Usa -Psa'  
  54.   
  55. --  SELECT * FROM temp  
  56.   
  57.   
  58.   
  59. --【导出TXT】默认列分隔符为: 竖线(|)  
  60. EXEC master..xp_cmdshell 'bcp test..tb out F:\kk.txt -c -Slocalhost -Usa -Psa'  
  61. EXEC master..xp_cmdshell 'bcp "Select 姓名,sum(分数) 分数 from test..tb group by 姓名" queryout F:\kk.txt -c -Slocalhost -Usa -Psa'  
  62.   
  63. --必须放在同一行(指定列分隔符和行分隔符)  
  64. EXEC master..xp_cmdshell 'bcp "select * from sys.objects o,sys.columns c" queryout F:\bulkTest.txt -c -t"|" -r "\n" -Slocalhost -Usa -Psa'    
  65.   
  66. 用法: bcp {dbtable | query} {in | out | queryout | format} 数据文件  
  67.   [-m 最大错误数]             [-f 格式化文件]       [-e 错误文件]  
  68.   [-F 首行]                   [-L 末行]             [-b 批大小]  
  69.   [-n 本机类型]               [-c 字符类型]         [-w 宽字符类型]  
  70.   [-N 将非文本保持为本机类型] [-V 文件格式版本]     [-q 带引号的标识符]  
  71.   [-C 代码页说明符]           [-t 字段终止符]       [-r 行终止符]  
  72.   [-i 输入文件]               [-o 输出文件]         [-a 数据包大小]  
  73.   [-S 服务器名称]             [-U 用户名]           [-P 密码]  
  74.   [-T 可信连接]               [-v 版本]             [-R 允许使用区域设置]  
  75.   [-k 保留 Null 值]           [-E 保留标识值]  
  76.   [-h"加载提示"]              [-x 生成 xml 格式化文件]  
  77.   [-d 数据库名称]  
  78.     
  79. -----------------------------------------------------------------------------------------  
  80. -----------------------------------------------------------------------------------------  
  81.   
  82. exec sp_configure 'Ad Hoc Distributed Queries',0   
  83. reconfigure;  
  84. exec sp_configure 'xp_cmdshell',0  
  85. reconfigure;  
  86. exec sp_configure 'show advanced options',0 --关闭高级配置选项设置  
  87. reconfigure;  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值