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 的数据超出该精度,则会被截断并四舍五入。 Visual FoxPro 不支持 SELECT INTO 语句。DTS 查询设计器支持 Visual FoxPro INSERT VALUE 语句,但不支持使用 SELECT 语句的 INSERT 语句。
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 作为数据源时,请考虑以下事项:
用于 Oracle 的 Microsoft ODBC 和 OLEDB 驱动程序支持 Oracle 7.3 BLOB 数据类型,不支持 Oracle 8.0 数据类型。例如,不支持 BLOB、CLOB、NCLOB 和 BFILE。
用于 Oracle 的 Microsoft OBDC 驱动程序不支持将 Unicode 字符串发送到 Oracle 服务器中。Oracle 要求在 Unicode 字符串前加上前缀字母 N。
用于 Oracle 的 Microsoft OBDC 驱动程序不支持 Oracle number 数据类型的负向缩放。用于 Oracle 的 Microsoft OBDC 驱动程序报告无指定精度的 Oracle number 数据类型的长度为 20 位数字。当从
Oracle (不考虑目的)中导入时,假如有多于 20 位的数字,并且假如目的表还不存在,可能必须手工地增加精度。在表中 Oracle 仅支持一个 LONG (BLOB) 数据列。 不能导入或导出拥有混合或小写名称的 Oracle 列。也不能通过使用 Oracle 列名称(包含使用 DTS 导入/导出向导的空格)来转换或复制数据。Oracle 要求精确指定并引用区分大小写的列名称。若要在 SQL Server 2000 和 Oracle 之间执行分布式事务,必须使用 Oracle 8.0.4.1 版本或更新版本。有关更多信息,请参见分布式事务。
评论加载中…
![]() |