Webhostingtalk资讯网

使用SQL Server集成服务建立连接

2017-09-06 13:51
作者:admin

使用SQL Server集成服务建立连接

同样的,我也从SSDT中创建了一个SSIS项目,以查看我是否可以在SSIS包中连接到SQL数据仓库。 Microsoft文档表明这是可行的,但是我却没有找到关于如何进行实施的具体细节。

我首先尝试通过创建一个ADO.NET连接来连接到SQL数据仓库,但这却提示我出现了错误,所以我改为创建OLE DB连接,而这竟然奏效了。我如下图所示的那样配置了连接。

如您所见,大部分的连接设置类似于我们在之前的例子中使用的设置,但是我们在这里还必须指定数据库。

接下来,我将数据流组件添加到了控制流中,然后往数据流中添加了OLEDB源组件。在源组件的连接管理器页面上,我指定了新创建的OLE DB连接,并选择了SQL命令作为数据访问模式,接着还添加了我在之前示例中使用的同一SELECT语句。 下图显示了我系统上的连接管理器页面。

为了验证我操作的正确性,我点击了预览按钮,并得到了如下图所示的结果,而这正是我想要的结果。

另外,我也通过跳转到OLE DB源代码编辑器中的Columns(栏目)页面进一步验证了我的连接,结果再一次表明一切正常。

最后,我还进行了一项测试。我添加了一个数据读取器目标组件(仅用于测试目的),并往数据管道中添加了一个数据查看器,从而获取下图中的数据流。

当我运行SSIS包时,该数据查看器便弹了出来,并对于我是否能够连接到SQL数据仓库并检索正确的数据进行了再次的验证,其如下图所示。

这时,我暂停了SSIS包的运行,因为我已经完成了我的目的,即证明SSIS确实可以与SQL数据仓库一起使用。

使用sqlcmd命令行实用工具建立连接

连接到SQL数据仓库数据库的另一种方法是使用SQL Server附带的sqlcmd命令行实用工具。 要使用该实用工具,您必须首先通过提供服务器和数据库的名称以及登录名和密码来建立连接,其如以下命令所示:

sqlcmd -S sdwsrv1.database.windows.net -d sdwdb1 -U sdwadmin@sdwsrv1 -P 《password》 -I

当然,我为登录帐户指定了实际的密码来代替图中的《password》。 而且,我还添加了-I参数,它会告诉连接要启用引用的标识符。 在使用sqlcmd实用工具连接到SQL数据仓库数据库时,您必须指定此选项。

另请注意,在输入帐户登录名时,我添加了at(@)符号,后面紧跟着服务器名称的第一部分(sdwadmin@sdwsrv1)。如果您不遵循此格式,您的连接就会失败。 不过,Microsoft文档并没有特别指明这一点,但错误信息却对其进行了明确的指出。

如果您之前使用过sqlcmd实用工具,那您就会知道建立连接后,命令提示符将变为带有编号的行,以便您输入T-SQL命令。 为了测试我的连接,我使用了我们熟悉的SELECT语句,随后还使用了GO命令:

SELECT TOP 10 CustomerKey, SUM(SalesAmount) TotalSales FROM FactInternetSales GROUP BY CustomerKey ORDER BY TotalSales DESC;

GO

正如预期的那样,该命令输出了我们在前面的例子中看到的相同结果。

当您使用完sqlcmd实用工具之后,您可以发出QUIT(退出)命令来退出该实用工具并返回到正常的命令提示符中。

从bcp命令行实用工具建立连接

我们还可以使用bcp命令行实用工具来连接SQL数据仓库数据库。不过,与sqlcmd实用工具不同,我们要在单个命令中输入查询和连接信息:

bcp “SELECT TOP 10 CustomerKey, SUM(SalesAmount) TotalSales FROM FactInternetSales GROUP BY CustomerKey ORDER BY TotalSales DESC” queryout C:\DataFiles\TopCustomers.txt -q -c -S sdwsrv1.database.windows.net -d sdwdb1 -U sdwadmin@sdwsrv1 -P 《password》

指定SELECT语句(双引号)之后,我添加了queryout选项,并指定了TopCustomer.txt文件。这样一来,查询输出结果将被保存到文件中。然后,我又添加了-q 参数以启用引用的标识符,也添加了-c参数以使用字符数据类型来执行操作。

接下来,我指定了– S参数和服务器名称、– d参数和数据库名称、– U参数和登录名、以及– P 参数和帐户密码。与sqlcmd实用工具一样,我们必须在指定登录名时添加at符号和服务器名称。

当我运行bcp命令时,它输出了我预期的结果,并将其保存到了文本文件中,这表明我们又多了一个连接到SQL数据仓库数据库并访问数据的选项。

网友评论
暂无评论!