1

我的客户端正在使用Advantage Database Server并希望迁移到SQL Server,但显然希望将其所有客户端数据作为升级到SQL Server的一部分。将数据从Advantage Database Server传输到SQL Server

我想过编写一个应用程序来完成转移,但认为它可能比它的价值更麻烦。

你会推荐什么?

回答

1

我在开发应用程序的同时在sql server和优势服务器之间切换,我主要使用sql server management studio中的导入数据功能来执行此操作。基本上使用oledb驱动程序创建数据库并导入数据以获取优势 - 可从优势数据库网站获取。尝试this link了解更多信息。再回去有点诡计....但那是另一回事。

如果这只是一次性转移,应该做的伎俩,你将有一个相当程度的控制转让。需要警告的是,有关PK和数据关系的信息可能无法在传输过程中保留下来,因为至少在adt/adi文件中,数据库服务器并不记录表之间的关系。如果他们想保持优势数据库的运行,并保留两个数据库中的数据副本,我还没有尝试过。在这种情况下,OMG Ponies的建议可能会起作用。

+0

传输行,谢谢你将看看它。使用起来很复杂的是用户基础。显然,他们没有专业知识,所以我需要敲一个我认为要做的数据传输的应用程序,我并不期待! – Jon 2009-12-09 17:34:27

+0

优势数据库通常用于低规格专业知识的情况,因为通常数据库不需要维护,因为通常存储的数据量相对较低。我有几年的优势,所以如果你需要任何帮助,请告诉我。但是请先尝试使用odbc的sql server导入工具,因为这可能至少会为您提供数据结构的开始。如果您在同一个应用程序中使用ado连接到两个数据库,则两个数据库都可以使用该技术很好地连接。查找tdataset组件以便在delphi中使用并不确定c。 – LizHanson 2009-12-10 08:59:26

+0

我将写入数据传输的应用程序将使用C#。我们正在从Delphi/Advantage转向C#/ MSSQL。我猜我将不得不做一个sp_addlinkserver命令来链接优势数据库。然后,我将以某种方式从优势数据库中获取模式,但是我可以对其进行硬编码,然后执行create database命令和一系列创建表。然后遍历所有导入数据的优势表。有趣! – Jon 2009-12-10 10:16:50

2

没有使用(或听到)的优势数据库服务器,但我想:

  1. 设置一个linked server instance in SQL Server连接到优势分贝。您需要Advantage db的OLE驱动程序 - this link可能会有所帮助。
  2. 一旦到位,您就可以将Advantage行中的行从SQL中抽取出来,而无需脚本。

对于不太长久的解决方案,您可以使用OPENROWSET打开到Advantage db的连接。它使用与链接服务器相同的OLE驱动程序,但连接仅在使用时打开。

+0

这会自动化一些如何?用户将无法自己做到这一点,所以我必须给点按钮点击并开始数据传输 – Jon 2009-12-09 13:32:07

+0

@Jon:自动化?您将其设置一次,不再需要时禁用/删除。权限和访问取决于它用于连接的Advantage用户。 – 2009-12-09 17:21:30

+0

对不起,我的意思是用户不需要打开SQL Server并进行传输。他们需要为他们做些事情,所以我需要编写一个应用程序,我认为要创建一个链接服务器,然后通过 – Jon 2009-12-09 17:33:27

1

如果您觉得您需要对ETL过程有更多的控制权,您也可以使用SSIS,否则就像OMG Ponies所建议的那样。由于Sybase宣称“零管理,不需要DBA”,因此您和您的数据迟早会出现。有一个ODBC driver available,所以它看起来可行。

相关问题