数据从SQL Server输到文本文件

  你需要做的第一件事是确定xp_cmdshell是可用的。你可以选择下面两种方法中的一种来实现。

  1.你可以使用sp_configure并执行下面的脚本。

EXEC master.dbo.sp_configure 'show advanced options', 1

RECONFIGURE
EXEC master.dbo.sp_configure 'xp_cmdshell', 1
RECONFIGURE

  2.你可以使用Surface Area Configuration工具。

  选择功能中的Surface Area Configuration并检查Enable xp_cmdshell检验栏。


  图一

  现在既然你已经使xp_cmdshell可用,那么你可以准备输出你的文件。

  下面是一个示例命令,它将把系统文件表的结果输出到以逗号分割的文件bcptest.txt中。只需复制并把它粘贴到一个查询窗口中且执行这个查询。

  EXEC xp_cmdshell 'bcp "SELECT * FROM sysfiles" queryout "C:bcptest.txt" -T -c -t,'

  注:BCP是一个命令行实用工具,xp_cmdshell要求只能在一个SQL批处理内使用。

  当在"master"数据库中执行上面的命令时将得到这个输出结果。


  图二

  使用的参数是:

  l Queryout选项允许你指定一个查询来输出。这可以像我们使用的查询那样简单也可以像你需要的那样复杂。你也可以创建一个视图并从视图中选择数据。

  l file name是存储结果的,它位于queryout选项之后。

  l -T参数指定bcp实用工具通过集成安全使用一个可信连接来连接到SQL Server。如果你想使用一个SQL Server登陆,那么你可以使用-P(密码)和-U(用户)。

  l -c指定将用于各个字段的字符数据类型。

  l -t参数允许你指定一个字段定界符。在-t之后的字符将用于隔开数据字段。如果-t被删除了,那么tab将用于默认定界符。

  另一个你可能需要使用的参数是-S,你可以用它来指定服务器名称。如果你有一个指定的实例,那么你需要使用这个参数。下面是一个连接到服务器"DEVELOP" 和实例 "DEV1"的例子。

  EXEC xp_cmdshell 'bcp "select name, type_desc, create_date from sys.objects" queryout "C:bcptest2.txt" -T -SDEVELOPDEV1 -c -t,'EXEC xp_cmdshell 'bcp "select name, type_desc, create_date from sys.objects" queryout "C:bcptest2.txt" -T -SDEVELOPDEV1 -c -t,'

  你也必须知道使用参数-t和-T的实例是不一样的,所以要保证你在实例中使用正确的参数。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索实例
, 参数
, 定界符
, 字段
, 一个
xp_cmdshell
sql server 输出文本、sqlserver 输入数据、sql server输入数据、sql server 导入文本、sqlserver 大文本,以便于您获取更多的相关知识。

时间: 2024-12-23 00:25:56

数据从SQL Server输到文本文件的相关文章

把数据从SQL Server输出到文本文件

你需要做的第一件事是确定xp_cmdshell是可用的.你可以选择下面两种方法中的一种来实现. 1.你可以使用sp_configure并执行下面的脚本. EXEC master.dbo.sp_configure 'show advanced options', 1 RECONFIGURE EXEC master.dbo.sp_configure 'xp_cmdshell', 1 RECONFIGURE 2.你可以使用Surface Area Configuration工具. 选择功能中的Surf

收集并存储性能监控器数据到SQL Server表

server|监控|数据|性能 收集并存储性能监控器数据到SQL Server表 ? ? 当我们需要监控数据库SQL Server服务器性能的时候,有些数据库管理人员可能会选择Windows为我们提供的'性能'监控器来操作(开始菜单à管理工具à性能). 如果可以将性能监控器采集到的数据记录到SQL Server 的数据库表中去,很多工作对我们来说也许方便得多.开启性能监控器点击开始菜单à运行à执行(perfmon) 或者 开始菜单à管理工具à性能 ? 就可以看到下面的画面了 ?定义性能监控器LO

使用DTS导入多个文件数据到SQL Server中

server|数据 使用DTS导入多个文件数据到SQL Server中     在我们工作中,经常需要将保存在文件中的数据导入到SQL Serve的表中.有时可能需要同时从相同或不相同的文件目录中导入多个文件的数据到SQL Server中.这里我们将讨论如何使用批处理文件和DTS从一个特定的文件目录中,导入多个文件的数据到SQLServer中.     试验环境 我们先创建整个试验的环境.创建文件目录"C:\MyImport",和三个文件a.csv.b.csv和c.csv,文件内容如下

使用T-SQL导入多个文件数据到SQL Server中

server|数据 使用T-SQL导入多个文件数据到SQL Server中     在我们的工作中,经常需要连续输入多个文件的数据到SQL Server的表中,有时需要从相同或者不同的目录中,同时将文件中的数据倒入.在这篇文章中,我们将讨论如何同时把一个目录中的文件的数据倒入到SQL Server中.      试验环境    我们先创建整个试验的环境.创建文件目录"C:\MyImport",和三个文件a.csv.b.csv和c.csv,文件内容如下.同时,在SQL Server中创建

请问一下asp.net mvc3怎么实现将上传的excel表格的数据导入sql server数据库?

问题描述 请问一下asp.net mvc3怎么实现将上传的excel表格的数据导入sql server数据库? 现在有一个项目,是要求用户上传一个excel文件,系统后台实现将上传的数据写到数据库相应的表中~请大声多多指教 解决方案 asp.net:上传excel表格到SQL Server数据库asp.net 将EXCEL表格数据导入到SQL Server数据库asp.net中Excel导入sql server数据库---------------------- 解决方案二: 这问题太简单了...

aspx网页提交数据到SQL server数据库执行存储程序超时

问题描述 aspx网页提交数据到SQL server数据库执行存储程序超时 网页提交数据到数据库,用giridview显示数据,查询的数据源数据库特别大,查询时间较长,最后反馈页面是服务超时,怎么解决? protected void Button1_Click(object sender EventArgs e) { string connstr = ConfigurationManager.ConnectionStrings[""connstr""].Connec

极限挑战—C#100万条数据导入SQL SERVER数据库仅用4秒 (附源码)

原文:极限挑战-C#100万条数据导入SQL SERVER数据库仅用4秒 (附源码)     实际工作中有时候需要把大量数据导入数据库,然后用于各种程序计算,本实验将使用5中方法完成这个过程,并详细记录各种方法所耗费的时间.     本实验中所用到工具为VS2008和SQL SERVER 2000.SQL SERVER 2008,分别使用5中方法将100万条数据导入SQL 2000与SQL 2008中,实验环境是DELL 2850双2.0GCPU,2G内存的服务器.感兴趣的朋友可以下载源代码自己

将DataTable 数据插入 SQL SERVER 数据库

原文:将DataTable 数据插入 SQL SERVER 数据库 以下提供3中方式将DataTable中的数据插入到SQL SERVER 数据库: 一:使用sqlcommand.executenonquery()方法插入 foreach (DataRow datarow in datatable.Rows) { string sql = "INSERT INTO [Table_1] ([CompanyName],[CompanyCode],[Address],[Owner],[Memo])&q

谈谈数据从sql server数据库导入mysql数据库的体验(原创)

mysql|server|数据|数据库|原创 因工作需要,要将存放在sql server数据库中的数据全部导入到mysql数据库中,在网上搜集相关资料,找到两种方法,现在分别谈谈对他们的看法. 第一种是安装mysql ODBC,利用sql server的导出功能,选择mysql数据源,进行数据的直接导出,这种方法很简便,但是针对实际应用有很多弊端,最主要体现就是数据类型问题,首先,sql server数据库中的ntext,image等数据类型的数据无法直接写入到mysql数据库中,据说只要稍加改