河北省高速公路招聘网:foxpro数据库转换为SQL Server数据库

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/27 08:03:20
原来的系统用的是foxpro ,现在新的系统要用到原来的数据库,但是新系统的数据库服务器是SQL Server ,请问,有方法可以转换或者兼容的?

如果你用vfp,vfp自带“升迁”向导

升迁向导

附注
只有在 Visual FoxPro 专业版中才包含升迁向导。

升迁向导建立 SQL 服务器数据库,它最大限度地重现 Visual FoxPro 数据库的功能。使用升迁向导可以:

? 将本地数据移到远程服务器上。
? 将本地数据库和本地视图转换为远程数据库和远程视图。
? 将本地应用程序移到客户/服务机应用程序上。

对升迁向导更多的文档信息,包括每步的详细资料,请参阅《专业版特性指南》的第二章,“升迁 Visual FoxPro 数据库”中的“使用升迁向导”。

附注
升迁将需要很长的时间,主要依赖数据的大小、网络的繁忙程度和服务器同时处理的命令数量。大的表可能需要升迁几个小时。

步骤 1 - 选择本地数据库

如果没有打开数据库,选择“打开”按钮来选择并且打开一个数据库。

步骤 2 - 选择数据源

如果使用命名连接访问数据源,升迁向导把命名连接和升迁过程中创建的任何远程视图连接起来。
如果使用数据源名称代替命名连接来登录数据源,并且在向导中选择创建远程视图,升迁向导建立一个名为 Upsize 的命名连接(如果具有推荐名称的连接定义存在,则依次建立 Upsize2
,Upsize3 等等)。
选择“下一步”按钮,向导显示 ODBC 登录对话框。如果命名连接带有密码,向导在不提示 ODBC 登录信息的情况下登录 SQL 服务器。

步骤 3 - 目标数据库

如果想向 SQL 服务器数据库添加 Visual FoxPro 表,可以升迁到已有的数据库中。要升迁到已有的数据库中,向导跳转到第六步。
如果要建立新的远程数据库,名称最多可包含 30 个字符,可以包含字母、数字和 #、$、_ 符号,但不允许空格。

步骤 4 - 数据库设备 (SQL Server)

选择数据库的大小和设备。可以重新建立数据库设备或者选择已有的设备。由于SQL 服务器要求至少有 2 MB,所以新数据库的大小至少为 2 MB。

步骤 5 - 日志设备 (SQL Server)

SQL 服务器为您的数据库建立一个事务日志,该日志在出现系统问题时将重建数据库。
理想情况下,数据库和相应的日志应该放在隔离的物理盘设备上。在起动升迁向导之前,必须首先建立这些设备,因为向导在同一个物理盘上创建所有的新设备,这个盘是主数据库所在的磁盘。
如果只有一个物理盘,应该把数据库和相应的日志放在分开的设备上,这样可以使用 SQL 服务器的 DUMP TRANSACTION 命令。

步骤 6 -要升迁的表

为保证导出数据的准确性,向导试图以独占的方式打开升迁数据库中的全部表。如果表已经打开并且共享使用,向导将关闭它们并且重新以独占方式打开,这样可能会丢失用 SET RELATION 或者 SET SKIP 命令建立的临时关系。不能以独占方式打开的表则不能升迁。

步骤 7 -字段类型

不能把关键字段的默认映象更改为不允许索引字段的数据类型。如果选择可以索引的数据类型,就能更改索引关键字中字段的默认映象;但您也可能更改关键字中其它字段的数据类型和它相匹配。当更改一个不是关键字段但被一个 Visual FoxPro 索引使用的字段的默认映象数据类型时,Visual FoxPro 会发出警告。如果发生错误,单击“重置为默认值”可以重新设置数据类型。
有关使用的默认数据类型的详细信息,请参阅升迁向导中的数据类型映象。

步骤 8 -升迁选项

默认情况下,升迁向导导出表的结构和数据。与字段名称及数据类型一起,升迁向导也可以导出索引、默认值、关系(参照完整性限制)和有效性规则。
Visual FoxPro 索引和默认值改变 SQL 服务器的索引和默认值。如果选择导出有效性规则,升迁向导就把字段级和行级有效性规则导出到 SQL 服务器,在那里成为由 SQL 服务器触发器调用的存储过程。导出的表关系也成为触发器的一部分。

提示
如果升迁表的关系,请确保同时升迁索引,否则可能导致很差的性能。

步骤 9 -完成

可以选择:

? 不产生 SQL 代码升迁。
? 只产生升迁所需的 SQL 代码。
? 升迁并产生 SQL 代码。

仅当您在 SQL 服务器上拥有 CREATE TABLE 权限时,第一和第三选项才可用。如果选择保存 SQL 代码的任一个选项,升迁向导创建的所有 SQL 代码保存在您的硬盘上。

SQL Server有数据库转换功能。

目前很多单位开始采用MS SQL Server作为数据库后台,也都面临这一问题。转换的方法视你的.dbf数据库而定。如果你的.dbf文件是由FoxPro或Visual FoxPro生成的,包含有general或memo字段,建议使用Visual FoxPro包含的升级向导SQL Server Upsizing Wizard,它可以转换Visual FoxPro的所有字段类型和数据对象。如果你的.dbf是由dBASE或FoxBASE生成的,只包含文字信息,可以在FoxBASE中使用COPY TO命令将其生成为纯文本数据。然后利用SQL Server的命令行工具BCP(bulk copy program,这个工具通常在BIN目录中)将数据从ASCII格式转换为SQL Server的数据。