将Sybase数据拉入SQL Server

时间:2009-04-09 16:30:35

标签: asp.net sql-server sybase-ase

我有一个使用SQL Server数据库的ASP.NET应用程序。我现在需要将数据从Sybase ASE提取到SQL Server数据库中供我的应用程序使用,而我的想法并没有取得任何成功。

有人这样做过吗?任何想法/建议/提示?

4 个答案:

答案 0 :(得分:4)

您可以配置从SQL Server到Sybase的链接服务器。使用MS端的Sybase提供程序应该是相当普遍的。

答案 1 :(得分:2)

好的,我终于(通过蹩脚的试验和错误)找到了如何将我的Sybase ASE(12.5)服务器链接到我的SQL Server(2008),这将允许我想要的集成。以下是我如何做到的:

  • 登录到Sybase ASE OLE DB配置管理器(这类似于Windows的ODBC数据源的Sybase版本)并添加了OLE DB数据源。我相信你必须是PC的管理员才能做到这一点。
  • 在SQL Server 2008 Management Studio中,转到Server Objects>链接服务器。右键单击并选择“新建链接服务器”。
  • 在“链接服务器属性”中,我设置了以下属性:
  • 一般:
  • - 链接服务器:您希望链接服务器显示在链接服务器列表中的名称
  • - 提供程序:从下拉列表中选择 Sybase ASE OLE DB提供程序
  • - 产品名称:您刚刚在Sybase ASE OLE DB配置管理器中创建的OLD DB数据源的确切名称。
  • - 数据来源:与产品名称相同。
  • - 提供者字符串:我留空了
  • - 位置:我留空了
  • - 目录:登录的默认数据库(主或其他)。
  • 安全性:
  • - 您需要将有效的SQL Server登录映射到有效的Sybase登录。我没有使用模拟(它通过凭证传递)。
  • - 我选择了我的连接不使用安全上下文
  • 服务器选项:
  • - 所有默认设置都适用于我。

自始至终,标准SQL Server帮助作为指南工作得很好。虽然并非总是如此,但F1在这里是我的朋友。

我现在可以执行分布式查询,DTS或SSIS包,并使用SSRS。这需要很多Sybase ASE。

当然,上面的操作可以通过命令行使用sp_linkserver来完成,但对于像我这样的低端开发人员而言GUI更为舒适。

答案 2 :(得分:1)

使用Management Studio或Enterprise Manager使用数据导入向导导入数据。这应该是它,只要确保你在向导中选择正确的数据提供者,你应该好好去。

如果您希望将其作为实时Feed,请创建一个小型Windows服务来管理信息交换。它应该相对简单,只需要一点腿部工作就可以了。如果您对此不利,那么有很多现成的解决方案可以为您做到这一点。

答案 3 :(得分:0)

问题在于细节上有点模糊:

  • 这是一次转换还是重复过程的一部分。
  • 源计算机是否可从目标计算机“到达”(您可以连接这两台计算机,还是需要读取文件)

大多数转化都有两部分:

  • 从源实际获取数据到目的地。
  • 将数据从源表映射到目标表。

如果没有更多信息,很难提出任何建议。如果您需要每天全天读取数据,那么一次转换会没有用。此外,如果无法连接源数据库并且您必须传递文件,则它们的方法会更改。