CREATE PROCEDURE [dbo].[p_To_Csv]
@path varchar(50)
as
begin
/**
* 将统计好的数据存放到指定路径的csv文件中
* csv文件的命名规则如下 其中 20100118为日期~~
* 作业一般为凌晨2点10分执行 ,生成的是前一天的数据
* @path 传入的路径
*
*/
if(@path='')
set @path='D:\backup'
declare @folderexist int
declare @intime datetime
declare @txtname varchar(50),@datestr varchar(8) , @fullpath varchar(200),@sql varchar (1000)
declare @year varchar(4),@month varchar(2),@day varchar(2)
declare @bcpstr varchar(1100) ,@bcpstrfolder varchar(1000),@bcpstrcreate varchar(1000)
--------------------------------------------------------
set @sql =' select '''+'timeLine'+''','''+'RadiusNum'+''' '
+' union all '
+ 'select timeline,cast(radiusNum as varchar(20)) from wapLog..radiusStat'
set @intime =dateadd(day,-1,getdate())
set @year=cast(year(@intime) as varchar(4))
set @month=cast(month(@intime) as varchar(2))
set @day=cast(day(@intime) as varchar(2))
if (substring(@month,1,1)<>'0' and len(@month)=1) set @month='0'+@month
if (substring(@day,1,1)<>'0' and len(@day)=1) set @day='0'+@day
--如果文件夹不存在 主动创建
set @bcpstrfolder='cd /d '+@path
exec @folderexist=master..xp_cmdshell @bcpstrfolder,no_output
if @folderexist<>0
begin
set @bcpstrcreate='md '+@path
exec master..xp_cmdshell @bcpstrcreate
end
---拼接 路径 文件名
set @datestr=@year+@month+@day
set @txtname=aaaa_'+@datestr+'.csv'
set @fullpath=@path+@txtname
if(right(@path,1)<>'\') set @fullpath=@path+'\'+@txtname
--print(@fullpath)
------生成到Csv文件
set @bcpstr='bcp "'+@sql+' " queryout '+@fullpath+' -t, -c -T'
print @bcpstr
exec master..xp_cmdshell @bcpstr
end
GO
分享到:
相关推荐
在SQL Server中使用BCP导出数据到Excel的具体方法通常涉及到以下几个关键步骤: 1. **使用BCP命令行参数**:BCP命令提供了多种选项来控制数据的导出过程。例如: - `-S server_name[\instance_name]` 指定目标SQL ...
例如,使用格式文件(`.fmt`)进行更复杂的导入导出,或者通过`-h`选项添加其他BCP选项,如 bulk commit size,以优化性能。 总的来说,VB利用Shell功能调用SQL的BCP是实现数据库批量导入导出的有效方式,能够提高...
### bcp导入导出数据:理解SQL Server与Sybase数据库数据迁移 在IT行业中,数据库管理与维护是一项至关重要的任务,特别是在数据迁移、备份或恢复过程中。`bcp`(Bulk Copy Program)作为SQL Server和Sybase数据库...
### 利用BCP工具导入导出数据库为文本数据 #### 概述 BCP(Bulk Copy Program)是SQL Server提供的一种批量导入导出数据的工具。它支持将数据库中的表或视图导出到文本文件,或将文本文件的数据导入到数据库中。此...
BCP 命令可以生成格式化文件,用于描述要导入或导出的数据的格式。生成格式化文件的命令格式如下: ``` bcp <表名> format nul -c -f <文件名> -U <用户名> -P <密码> ``` 其中,`<表名>` 是要导入或导出的表名,`...
该命令可以快速地将大量数据批量加载到数据库中,或者将数据导出到文本文件中。下面是对`bcp`命令及其选项的详细解释: #### 命令格式 ```shell bcp {dbtable|query} {in|out|queryout|format} datafile ``` - `...
BCP(Bulk Copy Program)是SQL Server提供的一种批量数据导入导出工具,它允许用户高效地将大量数据从操作系统文件传输到SQL Server数据库,或者从数据库导出到文件。在IT行业中,BCP文件通常存储着数据库表的数据...
下面将详细介绍SQL Server使用bcp导出数据的过程、授权步骤、xp_cmdshell存储过程的使用以及注意事项。 **1. 授权步骤** 在使用xp_cmdshell扩展存储过程来执行系统命令之前,必须首先在SQL Server中启用show ...
SQL Server的BCP(Bulk Copy Program)工具是一个强大的命令行实用程序,用于高效地导入大量数据到SQL Server数据库,或导出数据到文件。在本文中,我们将深入探讨BCP的工作原理、使用方法以及相关最佳实践,以帮助...
- `@fname`:指定导出文件的名称,默认为表名加上`.xls`后缀。 首先,该存储过程会检查文件是否存在以及文件路径的格式,然后使用动态SQL构建创建表的语句。根据表中字段的类型,选择相应的数据类型进行映射,如`...
bcp命令的基本语法包括指定连接信息(如服务器名、数据库名、用户名和密码)、操作类型(导入或导出)、数据格式和数据源/目标文件。例如,`bcp database_name.table_name in 'data_file.txt' -S server_name -U ...
- `d:\sq_grda.dbf`: 指定导出文件的路径及文件名,这里需要注意,虽然命令中使用了`.dbf`后缀,但实际上BCP生成的是文本文件,并非真正的DBF文件格式。 - `-S10.96.36.40`: 指定SQL Server实例所在的服务器地址。 -...
这是一个数据初始化工具,数据导出:在ServerDbConfig.cfg文件里配置好数据库访问所需要的信息,在sql文件下配置好要导出的SqlFiles,执行批处理DBUpdator_Normal.bat,就可以获得导出数据的文本形式,同样的配置导入...
### BCP 常用命令解释:备份、导出、移植 #### 一、BCP命令简介 BCP(Bulk Copy Program)是SYBASE数据库管理系统中的一个非常强大的工具,主要用于批量导入导出数据。它能够将数据库表或视图中的数据以文本文件的...
在导入导出数据时,可以使用默认值或是使用一个格式文件将文件中的数据导入到数据库或将数据库中的数据导出到文件中。 BCP 的主要参数介绍: 1. 导入:使用 in 命令完成,后面跟需要导入的文件名。 2. 导出:使用 ...
BCP能够快速地将大量数据从数据库表中导出到文件或将文件中的数据批量导入到数据库表中,支持包括`image`、`text`和`ntext`在内的多种数据类型。 ### BCP命令详解 #### 导出数据到文件 BCP命令的基本格式如下: ...