2015年9月14日星期一

ASP.NET 5 Beta 7 版本 - 张善友

本邮件内容由第三方提供,如果您不想继续收到该邮件,可 点此退订
ASP.NET 5 Beta 7 版本 - 张善友  阅读原文»

在 VS2015 发布的同时,微软也发布了 ASP.NET 5 的路线图(详见 ASP.NET 5 Schedule and Roadmap : https://github.com/aspnet/home/wiki/roadmap ):Beta7版本在9月2日发布了. 之前的DNX的跨平台特性在非Windows平台上主要依赖Mono来实现,.NET Core的支持极其有限。这个版本重点放在实现基于 .NET Core 的跨平台开发,为 Mac 与 Linux 平台提供基于 .NET Core 的 dnx,实现完整的 .NET 跨平台开发工作流,第一次实现了不再依赖于Mono。在微软的.NET Web开发工具博客上发布了详细的说明文章: http://blogs.msdn.com/b/webdev/archive/2015/09/02/announcing-availability-of-asp-net-5-beta7.aspx ,主要包括下列内容:

对于在Windows上使用VS2015开发来说,除了升级DNXBeta7外,还需要安装新的WebToolsExtensions http://www.microsoft.com/en-us/download/details.aspx?id=48738

Linux中安装参考(http://docs.asp.net/en/1.0.0-beta7/getting-started/installing-on-linux.html

Mac中安装参考(http://docs.asp.net/en/1.0.0-beta7/getting-started/installing-on-mac.html)。

除了实现完全跨平台外,还有如下变更和增强:

WebHooks是一种HTTP的轻量级交互模式,通过简单的发布/订阅模式来把SaaS系统和WEB API集成起来,上面两篇博客分别介绍Saleforce和Slack 通过ASP.NET WebHooks的集成。ASP.NET WebHooks包含发送和接受两部分的功能(底层技术是Web API 2和MVC 5,目前尚未支持ASP.NET 5):

  • 在接收端,提供了一种接收和处理来自于任何WebHook提供器的WebHook的通用模型。并且内置了Dropbox, GitHub, MailChimp, PayPal, Pusher, Slack, Stripe, Trello, 和WordPress的提供器实现。也就是说,如果你想开发一个程序来监控Dropbox文件变更或者GitHub的提交,是轻而易举的事情。
  • 在发送端,提供了管理和存储订阅者信息的功能,以及把事件提醒发送给适当订阅者的功能。从而简化了WebHook发送端的开发。

详细的开发说明可以参考上面的三篇博客,更重要的是阅读源代码(https://github.com/aspnet/WebHooks)。


本文链接:ASP.NET 5 Beta 7 版本,转载请注明。

BCP导出导入大容量数据实践 - FishParadise  阅读原文»

前言

SQL SERVER提供多种不同的数据导出导入的工具,也可以编写SQL脚本,使用存储过程,生成所需的数据文件,甚至可以生成包含SQL语句和数据的脚本文件。各有优缺点,以适用不同的需求。下面介绍大容量数据导出导入的利器——BCP实用工具。同时在后面也介绍BULK INSERT导入大容量数据,以及BCP结合BULK INSERT做数据接口的实践(在SQL2008R2上实践)。

1. BCP的用法

BCP 实用工具可以在 Microsoft SQL Server 实例和用户指定格式的数据文件间大容量复制数据。使用 BCP实用工具可以将大量新行导入 SQL Server 表,或将表数据导入数据文件。除非与 queryout 选项一起使用,否则使用该实用工具不需要了解 Transact-SQL 知识。BCP既可以在CMD提示符下运行,也可以在SSMS下执行。

015

figure-1

语法:

bcp {[[database_name.][schema].]{table_name | view_name} | "query"}
{
in | out | queryout | format} data_file
[-mmax_errors] [-fformat_file] [-x] [-eerr_file]
[-Ffirst_row] [-Llast_row] [-bbatch_size]
[-ddatabase_name] [-n] [-c] [-N] [-w] [-V (70 | 80 | 90 )]
[-q] [-C { ACP | OEM | RAW | code_page } ] [-tfield_term]
[-rrow_term] [-iinput_file] [-ooutput_file] [-apacket_size]
[-S [server_name[\instance_name]]] [-Ulogin_id] [-Ppassword]
[-T] [-v] [-R] [-k] [-E] [-h"hint [,...n]"]

简单的导出例子1:

018

figure-2

简单的导出例子2:

019

figure-3

在SSMS上同时也可以执行:

EXEC [master]..xp_cmdshell
'BCP TestDB_2005.dbo.T1 out E:\T1_02.txt -c -T'
GO

code-1

017

figure-4

EXEC [master]..xp_cmdshell
'BCP "SELECT * FROM TestDB_2005.dbo.T1" queryout E:\T1_03.txt -c -T'
GO

code-2

020

figure-5

从个人来讲,我更喜欢使用第二种跟queryout选项一起使用的写法,因为这样可以更加灵活控制要导出的数据。如果执行BCP命令遇到这样的错误提示:

Msg 15281, Level 16, State 1, Procedure xp_cmdshell, Line 1
SQL Server blocked access to procedure 'sys.xp_cmdshell' of component 'xp_cmdshell' because this component is turned off as part of the security configuration for this server. A system administrator can enable the use of 'xp_cmdshell' by using sp_configure. For more information about enabling 'xp_cmdshell', see "Surface Area Configuration" in SQL Server Books Online.


基于安全的考虑,系统默认没有开启xp_cmdshell选项。使用下面语句开启此选项。

EXEC sp_configure 'show advanced options', 1
RECONFIGURE
GO

EXEC sp_configure

没有评论:

发表评论