Data Transformation Services

Data Conversion and Transformation Considerations

Before using Data Transformation Services (DTS) to convert or transform data between heterogeneous data and destinations, consider these variations in the way different programs, providers, and drivers support data types and SQL statements.

When using Microsoft® SQL Server™ as a data source, consider the following:

This limitation does not apply outside of DTS Designer. You can use source statements or stored procedures that access SQL Server temp tables programmatically.

DTS Import/Export Wizard and DTS Designer

When using the DTS Import/Export Wizard and DTS Designer to create packages, consider the following:

Microsoft SNA Server

When using Microsoft SNA Server as a data source, consider the following:

Microsoft Access

When working with Access, consider the following:

Microsoft Visual FoxPro

Microsoft Visual FoxPro® supports only a precision of (15,9) for numeric data types. Data exported to Visual FoxPro that exceeds this precision is truncated and rounded.

ODBC

When connecting to an ODBC data source, consider the following:

Oracle

When using Oracle as a data source, consider the following:

DB2 on the IBM AS/400

When connecting to a DB2 data source, consider the following:

Using the Sybase ODBC Driver

When connecting to a Sybase ODBC data source, consider the following:

dBase and Paradox

When connecting to dBase and Paradox data sources, consider the following:

File Import or Export

When importing or exporting data from text files, consider the following:

Code Pages, Collation, and Non-Unicode Data Issues

When using DTS to copy data between SQL Server databases with different code pages and collations, data may be lost or incorrectly translated.

To avoid translation issues, store international data in Unicode. Once converted to Unicode, you can easily transfer data in any collation or code page without loss or incorrect translation to any Microsoft SQL Server 2000 or Microsoft SQL Server 7.0 database.

In Microsoft SQL Server 2000, collations are associated with particular code pages and are assigned to individual columns. (Microsoft SQL Server 7.0 uses a single default code page, and does not support column-level collations). If the code page used for a source and destination column match, no data loss will occur in non-Unicode columns. When data is copied between non-Unicode columns, and the source and destination code pages do not match, loss of data can result. In some cases, DTS will perform a best fit mapping, with data loss if the source contains characters that do not occur in the destination code page. In other cases, DTS will perform a copy without any intervening translation, resulting in the loss of any data not represented by the same binary value in both code pages. Following are problems and guidelines for using the Copy SQL Server Objects task and when copying data with the Copy Column transformation using different collations or code pages.

Copy SQL Server Objects Task

The following refers to how the Copy SQL Server Objects task handles non-Unicode data:

If you want to ensure that there is no data loss when copying non-Unicode data, you can use the SQL Server bulk copy feature to export data in Unicode format, then use bulk copy or DTS to import it.

To disable the default scripting of collations, add code or use Disconnected Edit or the Dynamic Properties Task to add the value of SQLDMOScript2_70Only to the ScriptOptionEx property of the Copy SQL Server Objects Task.

Copy Column Transformation

The following refers to how the Copy Column Transformation handles non-Unicode data between different code pages: