将 real 数据类型转换为 int 数据类型也许不能返回精确的值,因为 SQL Server 2000 只支持精确度为 6 位数字的real 数据类型。例如,real 型数字 2147480000 可能生成 2147480065 的 int 值。
从一个文本文件将 string (DBTYPE_WSTR) 列转换为 date (DBTYPE_DATE) 或 time (DBTYPE_TIME) 列时,OLE DB 数据转 换服务组件只接受一种日期或时间格式 (yyyy-mm-dd hh:mm:ss.fffffffff)。使用日期时间字符串转换,或者使用 CDate 函数编码 Microsoft ActiveX® 脚本转换正确地转换日期。
SQL Server 2000 不支持 OLE DB 类型 DBTYPE_DATE 或 DBTYPE_TIME。SQL Server 2000 只支持 DBTYPE_DATETIME。
当使用 DTS 设计器定义数据驱动的查询时,数据目的地必须能够支持 OLE DB ICommand 接口。由于这种限制,类似文本 文件的目的不被支持。
如果 text、ntext 和 image 类型的字段长度超过 8388602 字节,则 DTS 的复制 SQL Server 对象任务将截断超出的部 分。DTS 设计器或 DTS 导入/导出向导不显示任何错误信息,而是显示任务已成功完成。 唯一的失败指示是一条写入日志文件的日志消息,此文件的名称为 ..log,位于"复制 SQL Server 对 象任务属性"对话框的"复制"选项卡所指定的脚本文件目录中。此日志消息详细说明表和列,但不指出发生截断的行。无任 何错误记录写入 DTS 错误文件或 SQL Server 日志。
Microsoft SNA Server 当使用 Microsoft SNA Server 作为数据源时,请考虑下列事项:
AS/400 和 VSAM 的 Microsoft OLE DB 提供程序不支持 DTS 导入/导出向导用来创建或截断表的 SQL 语句。 Microsoft Access 使用 Access 时,应考虑下列事项:
当从 SQL Server 2000 中将数据导出到 Microsoft Access 97 或更早的版本中,Access 的 Microsoft OLE DB 提供程序 在内存中为所有插入设置缓冲区,并且只在 DTS 导入/导出向导完成操作时提交它们。结果是,可以在导出大量表时,面 对内存较小的形势。然而,可以通过构造在多个传递中发送较少行数的 SELECT 语句解决该问题。 Microsoft Visual FoxPro Microsoft Visual FoxPro® 只支持 numeric 数据类型的 (15,9) 精度。如果导出到 Visual FoxPro 的数据超出该精 度,则会被截断并四舍五入。
ODBC 的 Microsoft OLE DB 驱动程序无法使用 FoxPro ODBC 驱动程序将 BLOB 写入 Visual FoxPro,因为 Visual FoxPro 不支持动态游标。 ODBC 当连接到 ODBC 数据源时,请考虑下列事项:
ODBC 的 Microsoft OLE DB 提供程序在执行导出操作时需要一个在带有 BLOB 数据列的所有目标表上的唯一键。
当使用带有 SQL Server ODBC 驱动程序的 ODBC 的 Microsoft OLE DB 提供程序时,在安排带有源行集中其它数据类型的 列之后安排所有 BLOB 列。可以使用 SELECT 语句重新将 BLOB 列安排到源行集的末尾。DTS 导入/导出向导自动地执行该 操作。
重要 当使用带有 SQL Server ODBC 驱动程序的 ODBC 的 Microsoft OLE DB 提供程序时,请尝试预览带有连接忙错误的 存储过程失败。如果使用 SQL Server 的 Microsoft OLE DB 提供程序,该问题就不会发生。
如果一个用于 SQL Server 的 Microsoft ODBC 驱动程序连接由多个线程共享,此连接可能会失败,并返回错误信 息"Connection is busy with results for another hstmt"(此连接正忙于其它 hstmt 的结果)。在某些情况下,这将 影响通过 DTS 导入/导出向导生成的包。使用以下方法之一解决此问题: 将 MaxConcurrentSteps 属性设置为1 以消除竞争的线程。
创建其它的 ODBC 连接以消除连接共享。
使用用于 SQL Server 的 Microsoft OLE DB 提供程序 (SQLOLEDB) 连接数据库。如果需要连接 SQL Server 6.5 数据 库,则运行 Instcatl.sql 以启用通过用于 SQL Server 的 Microsoft OLE DB 提供程序进行访问。 Oracle 当使用 Oracle 作为数据源时,请考虑以下事项: