Home > Store

Microsoft SQL Server 2000 DTS [Data Transformation Services]

Register your product to gain access to bonus material or receive a coupon.

Microsoft SQL Server 2000 DTS [Data Transformation Services]


  • Sorry, this book is no longer in print.
Not for Sale


  • Copyright 2000
  • Dimensions: 7-3/8" x 9-1/8"
  • Pages: 744
  • Edition: 1st
  • Book
  • ISBN-10: 0-672-32011-8
  • ISBN-13: 978-0-672-32011-8

Microsoft SQL Server 2000 Data Transformation Services covers all facets in the development of data transformations with DTS. The reader will learn how to create each of the DTS tasks, both in the User Interface supplied with SQL Server and through the object model using Visual Basic or VBScript.

Microsoft SQL Server 2000 Data Transformation Services is filled with numerous small examples, showing how each of the capabilities of DTS can be used. It also includes a number of Data Transformation Templates, which can be used by the readers to help develop their own packages.



Code for chapters 1 thru 10 (1.12mb) -- chapter110.exe
Code for chapters 11 thru 20 (788kb) -- chapter1120.exe
Code for chapters 21 thru 30 (691kb) -- chapter2130.exe
Code for chapter 31 (3.09mb) -- chapter31.exe
Code for chapter 32 (270kb) -- chapter32.exe

Sample Content

Table of Contents


Using DTS in SQL Server 7.0 and SQL Server 2000. The Code Samples. Keeping Current with Information on DTS.


1. A Quick Look at DTS.

A High-Performance Data Pump-and a Whole Lot More. Using the DTS Designer to Create Complex Data Transformations.

The Structure of a DTS Package. Creating Connections. Creating Tasks. Setting the Workflow.

Saving and Retrieving DTS Packages.

SQL Server Storage. SQL Server Meta Data Services Storage. Structured Storage File. Visual Basic File. Package Versions.

How to Execute a DTS Package.

From the DTS Designer. From the Wizards. From the Enterprise Manager. From Visual Basic Code. With the OLE Automation System Stored Procedures. As a Data Provider. Using the DTSRun Command Prompt Utility. Using the DTSRun Utility for Windows. From Another DTS Package. Scheduling a DTS Package. The Execution Context for a DTS Package.

Using the DTS Object Model for Programmatic Control.

The DTS Object Model. Using the DTS Object Model with the Dynamic Properties Task. Using the DTS Object Model with Disconnected Edit. Programming DTS with VBScript. Programming DTS with Visual Basic. Programming DTS with VC++.

DTS Templates.

Using Templates. Creating Templates.

Using Wizards for Rapid Application Development.

Copy Database Wizard. DTS Import/Export Wizard.

Practical Uses for DTS.

Upgrading a Database from Microsoft Access to SQL Server. Consolidating Data from Multiple Sources. Initial and Periodic Loading of a Data Mart or a Data Warehouse. Reporting on Data from Transaction Processing Systems. Building an Interface to the Web for a Legacy System. Archiving a Database. Analyzing Internet Clickstream Data. Importing and Exporting with XML.


2. DTS Enhancements for SQL Server 2000.

Top Ten New DTS Features. The New DTS Tasks.

Dynamic Properties Task. The File Transfer Protocol (FTP) Task. The Execute Package Task. The Message Queue Task. The Parallel Data Pump Task. The Analysis Services Processing Task. The Data Mining Prediction Query Task. The Transfer Databases Task. The Transfer Master Stored Procedures Task. The Transfer Jobs Task. The Transfer Logins Task. The Transfer Error Messages Task.

Transformation Task Enhancements.

Multiple Phases in the Data Transformation Tasks. Package Object Browser When Writing Scripts.

The New Data Transformations.

Using Parameters in the Source Query. New Error File Options. Lookups Can Now Modify Data.

New Features in Other Tasks.

Using Input Parameters in the Execute SQL Task. Assigning the Result of the Execute SQL Task to Parameters. Assigning the Result of the Execute SQL Task to Recordset. Package Object Browser for Writing ActiveX Scripts. Auto-Generating a Format File in the Bulk Insert Task.

Other New Features in DTS.

Copy Database Wizard. Save To Visual Basic File. Setting Values of the Package Global Variables with DTSRun. DTSRunUI-A Windows Interface for DTSRun. Package Templates. Disconnected Edit. Option Explicit for Global Variables. Just-In-Time Debugging. Turn On Package Cache. Executing Individual Steps in the Package Designer. DTS Package Logs.

Other New Features in SQL Server 2000 That Enhance Data Transformation.

Integration with XML. Indexed Views. User-Defined Functions.


3. DTS and the Flow of Data Through the Enterprise.

Enterprise Data Structure and Data Flow. Business Drivers for Enterprise Data Transformation. Ways to Use Data.

Transaction Processing. Business Analysis. Maintaining History.

Sources of Data.

On Line Transaction Processing (OLTP) Systems. Web Clickstream Data. Data from Outside the Organization. The Data Warehouse. Results from Business Analysis Systems.

Meta Data. Types of Data Storage.

Text Files. XML. Spreadsheets. Relational Database Management Systems. Multidimensional Database Management Systems (OLAP).


4. Using DTS to Move Data into a Data Mart.

Multidimensional Data Modeling.

Differences Between Relational Modeling and Multidimensional. Modeling.

The Fact Table.

Choosing the Measures. Choosing the Level of Summarization for the Measures.

The Dimension Tables.

The Primary Key in a Dimension Table. Levels of the Dimension Hierarchy. Attributes of the Dimension. The Time Dimension. Subordinate Dimension Keys.

Loading the Star Schema.

Loading Data into a Staging Area. Loading the Dimension Tables. Updating the Subordinate Dimension Keys. Loading the Fact Table. Using the Data.

Avoiding Updates to Dimension Tables. Conclusion.


5. DTS Connections.

Creating DTS Connections. DTS Connection Properties.

Properties That Identify a DTS Connection. Properties That Determine Access to the Data Source. Other Properties.

Creating Connections for Different OLE DB Providers.

The SQL Server OLE DB Provider. Text File Connections. The OLE DB Provider for OLAP Services. Other OLE DB Providers.

Modifying Data Connections Dynamically. Performance Issues with DTS Connections. Conclusion.

6. The Transform Data Task.

When to Use the Transform Data Task. Creating a New Transform Data Task.

Using the Package Designer. Using the DTS Import/Export Wizard. Using Code.

The Description and Name of the Task. The Source of a Transform Data Task.

Text File Source. SQL Table, View, or Query for a Relational Database Source. MDX Query for a Multidimensional Cube Source. Using XML as the Source. Using Parameters in a Source Query. DataPumpTask Source Properties.

The Destination of a Transform Data Task.

Creating a New Destination Table. Text File Destination. DataPumpTask Destination Properties.

Mapping Source Columns to Destination Columns.

Transformation Flags. Testing a Transformation. The Collections That Implement a Transformation. Other Properties of a Transformation.

The Transformation Types.

The DateTime String. Uppercase Strings, Lowercase Strings, and Copy Column. Middle of String and Trim String. Read File. Write File. ActiveX Script. Custom Transformation.

Other Properties of the Transform Data Task.

Error Handling Properties. Data Movement Properties. Options for Improving Performance with SQL Server Destinations.

Column Properties. Creating a Transform Data Task in Visual Basic. Creating Transformations in Code.

Choosing a Transformation Type in Code. Creating the Transformation and Its Columns. Copy Column, Uppercase, and Lowercase Transformations. Trim String and Middle of String Transformations. Read File and Write File Transformations. DateTime Transformations. ActiveX Transformations. A Sample Application with All the Transformations.

Using the Transform Data Task as a FreeStanding Icon. Conclusion.

7. Writing ActiveX Scripts for a Transform Data Task.

When You Should Use the ActiveX Script Transformation.

Deciding Between One Task and Many. Using the Variety of Transformation Types.

Transformation ActiveX Scripts Basics. The Transformation ActiveX Script Development Environment. Choosing a Scripting Language. Setting the DTS Transformation Status.

DTSTransformStat_OK. DTSTransformStat_SkipRow. DTSTransformStat_SkipFetch. DTSTransformStat_SkipInsert. DTSTransformStat_DestDataNotSet. DTSTransformStat_Info. DTSTransformStat_OKInfo. DTSTransformStat_SkipRowInfo. DTSTransformStat_Error. DTSTransformStat_ErrorSkipRow. DTSTransformStat_ExceptionRow. DTSTransformStat_AbortPump. DTSTransformStat_NoMoreRows.

Creating and Using Local Variables.

Variable Types. Object Variables. Using Option Explicit.

Creating and Using Global Variables.

Creating Global Variables in the User Interface. Creating Global Variables in an ActiveX Script. Case Sensitivity of Global Variables and Option Explicit. The Lock and Unlock Methods of the GlobalVariable2 Object.

Creating and Using Lookups.

Creating Lookups with the User Interface. Creating Lookup Objects in an ActiveX Script. Using a Lookup in an ActiveX Script. Using a Lookup to Modify Data.

Using ActiveX Scripts or Modifying the Source Query.

Simple Assignment of Fields. String Manipulation. Handling Unknown Values. Looking Up an Unknown Value. Using an Outer Join to Protect Against Missing Data. Merging Data from Two Sources with a Full Outer Join.

Separating Information from One Record into Several Records. Combining Information from Several Records into One. Conclusion.

8. The Data Driven Query Task.

When to Use the Data Driven Query Task. Creating a Data Driven Query Task. Transformation Status Constants for the Data Driven Query Task. A Data Driven Query Example. Creating a Data Driven Query Task in Visual Basic. Conclusion.

9. The Multiphase Data Pump.

Enabling the Multiphase Data Pump. Programmatic Flow with Multiple Phases. Using the Phases.

Pre Source Phase. Row Transform Phase. Post Row Transform Phase. On Transform Failure Subphase. On Insert Failure Subphase. On Insert Success Subphase. On Batch Complete Phase. Post Source Data Phase. Pump Complete Phase.

Creating a COM Object with Visual C++ to Program the Phases. Creating a Multiphase Data Pump in Code.

The TransformPhases Property. Setting the Entrance Functions.


10. The Parallel Data Pump Task.

Hierarchical Rowsets. When to Use the Parallel Data Pump Task. The Collections and the Properties of the Parallel Data Pump Task. The Transformation Modes.

Hierarchical Mode. Flattened Mode. Data Driven Query Mode. The TransformationSetOptions Property.

Creating a Parallel Data Pump Task in Visual Basic. A User Interface for the Parallel Data Pump Task. Conclusion.


11. The Bulk Insert Task.

When to Choose the Bulk Insert Task Over the Transform Data Task. Creating a Bulk Insert Task. The Destination for a Bulk Insert Task. The Source for a Bulk Insert.

Fixed-Length Text Files. Delimited Text Files.

Format Files.

Format File Structure. Generating a Format File.

Reconciling Differences Between the Source and the Destination.

Extra Fields in the Data Destination Table. Rearranging Fields When Moving from Source to Destination. Extra Fields in the Source Text File.

Other Properties of the Bulk Insert Task.

Check Constraints. Keep Nulls. Enable Identity Insert. Table Lock. Sorted Data. Code Page. Data File Type. Insert Commit Size. Maximum Errors. Only Copy Selected Rows, Starting with Row, and Stopping at Row.

Creating a Bulk Insert Task in Visual Basic. Conclusion.

12. The Execute SQL Task.

When to Use the Execute SQL Task Creating the Execute SQL Task. Writing Queries for Different Database Systems. Using Input Parameters in Execute SQL Tasks. Using Output Parameters for Row Values. Using an Output Parameter for the Rowset. Dynamically Modifying the SQL Statement. Using the Execute SQL Task to Execute a DTS Package from a Remote Server. Creating an Execute SQL Task in Visual Basic. Conclusion.

13. The Copy SQL Server Objects Task

When to Use the Copy SQL Server Objects Task. The Source and the Destination. Transfer Choices.

Creating Destination Objects. Copying Data. Use Collation. Copy All Objects. Use Default Options. Choose a Script File Directory.

Other Properties of the Copy SQL Server Objects Task. Using Methods to Include Objects in the Transfer. Creating a Copy SQL Server Objects Task in Visual Basic. Conclusion.

14. The File Transfer Protocol (FTP) Task.

When to Use the File Transfer Protocol (FTP) Task. Creating the Task and Setting Its Properties. Creating the Task in Visual Basic. Conclusion.

15. The Transfer Databases and Other Transfer Tasks.

When to Use the Transfer Databases and Other Transfer Tasks. Creating the Tasks and Setting Their Properties.

The Source and the Destination for the Tasks.

The Transfer Database Task. The Transfer Logins Task. The Transfer Jobs Task. The Transfer Master Stored Procedures Task. The Transfer Error Messages Task. Creating the Tasks in Visual Basic. Conclusion.


16. Writing Scripts for an ActiveX Script Task.

When to Use an ActiveX Script Task. Creating an ActiveX Script Task. Dynamically Modifying DTS Properties.

Referencing a Package. Referencing a Connection. Referencing a Global Variable. Referencing Steps, Tasks, and Custom Tasks. Referencing the Collections and Objects in a Transform Data Task. Referencing the DTS Application Object. Objects and Properties That You Cannot Directly Reference. Building a Utility to Limit Rows Processed.

Programming a Loop in a DTS Package. Using ADO Recordsets. Manipulating Files and Directories. Writing Task Log Records. Converting VB Code to VBScript.

Variable Declaration. Using CreateObject for Object Variables. For Next Loops. File Access. GoTo and Line Labels. Error Handling. API Calls. Using Code as an Entry Function. Using VBScript Code in VB.

Creating an ActiveX Script Task in Visual Basic. Conclusion.

17. The Dynamic Properties Task.

When to Use the Dynamic Properties Task. Creating the Task and Assigning Its Properties.

Making a New Assignment. Choosing the Object and Property to Be Assigned. Choosing the Source of Data for the Assignment.

Creating a Dynamic Properties Task in Visual Basic. Conclusion.

18. The Execute Package Task.

When to Use the Execute Package Task. Creating the Task and Setting Its Properties. Setting Values of Global Variables in the Child Package. The NestedExecutionLevel Property of the Package. Creating and Calling a Utility DTS Package. Creating the Task in Visual Basic. Conclusion.

19. The Message Queue Task.

When to Use the Message Queue Task. Creating the Task and Setting Its Properties.

Setting the Queue Path. Sending Messages. Receiving Messages.

Creating the Task in Visual Basic. Conclusion.

20. The Send Mail Task.

When to Use the Send Mail Task. Creating the Task and Setting Its Properties. The Methods of the Send Mail Task. Creating the Task in Visual Basic. Conclusion.

21. The Analysis Services Tasks.

When to Use the Analysis Services Tasks. Using the Analysis Services Processing Task. Using the Data Mining Prediction Query Task. Creating the Analysis Services Processing Task in Visual Basic. Creating the Data Mining Prediction Query Task in Visual Basic. Conclusion.

22. The Execute Process Task.

When to Use the Execute Process Task

Bulk Copying from SQL Server to a Text File. Executing a Batch File Containing osql and/or bcp Commands. Running Other Data Movement or Manipulation Applications. Executing DTSRun.

Creating the Task and Setting Its Properties.

The Execute Process Task Properties. The GetExpandedProcessCommandLine Method of the CreateProcess2. Object.

Creating the Task in Visual Basic. Conclusion.


23. The DTS Package and Its Properties.

Identifying DTS Packages. Storing DTS Packages.

Saving DTS Packages to SQL Server. Saving DTS Packages in Meta Data Services. Storing DTS Packages in the File System. Saving DTS Packages as Visual Basic Files.

Encrypting DTS Packages. Retrieving Information About Packages.

Package Stored in SQL Server. Package Stored in Meta Data Services. Package Stored in Files.

Package Logs and Error Files.

Logging to SQL Server.

DTS Packages as Data Sources.

The Data Provider DTSPackageDSO. Setting Up a DTS Package to Be a Data Source. Querying a DTS Package with OPENROWSET. Registering a DTS Package as a Linked Server. Using the DTSPackageDSO Provider to Return XML from a Transform Data. Task.

Other DTS Package Object Properties and Methods.

CreationDate, CreatorComputerName, and CreatorName. PackageType. Parent. UseOLEDBServiceComponents. The GetDTSVersionInfo Method.


24. Steps and Precedence Constraints.

Steps, Tasks, and the DTS Package. Precedence Constraints.

The Three Types of Precedence. Creating Precedence Constraints in the DTS Package Designer. Creating Precedence Constraints in Code.

The Execution Status of the Step. Threads and Priority of Execution.

Package Level Thread Execution Parameters. Step Level Thread Execution Parameters.

Transactions in DTS Packages.

Transaction Properties Set at the Package Level. Transaction Settings for the Steps. Participation in Transactions by Connections and Tasks. A Transaction with Steps Executed in Sequence. A Transaction with Steps Executed in Parallel. Transactions Involving More Than One DTS Package.

Workflow ActiveX Scripts.

Script Result Constants. Using the Script Results for Looping. Step Properties for the Workflow Script.

Other Step Object Properties.

StartTime, FinishTime, and ExecutionTime. Description. Parent.

Creating a Step Using Visual Basic. Conclusion.

25. Rapid Development with the Copy Database Wizard and the DTS Import/Export Wizard.

Two Wizards with Three Levels of Granularity.

Transferring Databases with the Copy Database Wizard. Transferring SQL Server Objects with the Import/Export Wizard. Transforming Data with the Import/Export Wizard.

Calling the Wizards.

From the Enterprise Manager. From the Command Line. From Code.

Using the Copy Database Wizard.

Choosing the Source and Destination. Choosing the Databases and File Locations. Choosing Other Objects to Transfer. The DTS Package Created by the Copy Database Wizard.

Creating Connections with the Import/Export Wizard. Transferring SQL Server Objects. Setting Up Data Transformations.

Using a Query to Specify the Data to Transfer. Copying Table(s) from the Source Database. The Destination Tables. The Data Transformations.

Executing, Scheduling, Saving, and Replicating the Package.

Creating a DTS Package for Replication. Scheduling a DTS Package for Later Execution. Saving a DTS Package.

Completing the Import/Export Wizard. Conclusion.

26. Managing Packages with Visual Basic and Stored Procedures.

Working with DTS Packages in Visual Basic.

Installation Requirements. Saving a Package to Visual Basic. Setting Up the Visual Basic Design Environment.

The Structure of the Generated DTS Visual Basic Code Module.

Header Information. Declaration of Public Variables. Main Function. Functions to Create the Tasks.

Executing a Package from Visual Basic.

Loading and Saving Packages. Handling Events. Handling Errors. Dynamic Modification of Properties. Implementing a Loop in the Data Transformation.

Executing a Package from Visual Basic Using SQL Namespace. Working with Packages Using the OLE Automation Stored Procedures.

Using sp_OACreate and sp_OADestroy. Using sp_OAMethod. Using sp_OAGetProperty and sp_OASetProperty. Using sp_OAGetErrorInfo.

Executing a Package with Stored Procedures. Conclusion.

27. Handling Errors in a Package and Its Transformations.

Handling Incorrect Data.

Analyzing the Potential Errors in the Data. Raising Errors. Correcting Errors. Storing Error Records and Information. Maintaining Transactional Consistency. Informing Administrators of Errors.

Debugging ActiveX Scripts.

Using the Script Debugger. Exiting the Debugger without Terminating the Enterprise Manager.


28. High-Performance DTS Packages.

DTS Transformation Goals.

The Goal of Rapid Execution. Rapid Development. Self-Documenting Data Transformations. Maintainable Code.

DTS Task Performance Comparison.

Loading from a Text File to a SQL Server Database. Loading from SQL Server 2000 to SQL Server 2000.

Performance Statistics for the Transformation Tasks.

Comparing Different Transformations in the Transform Data Task. Comparing Separate and Combined Transformations. Using Names or Ordinals in Script Transformation Columns. Fetch Buffer Size, Table Lock, and Insert Batch Size. Moving Transformation Logic to the Source Query. Moving Logic into a Custom Transformation. Performance of the Transform Data Task and the Data Driven Query. Task. Choosing a Scripting Language.

Use of Parallel Processing to Improve Performance. Effect of Indexing on Performance. Considering Tools Other Than DTS Because of Performance.

Using bcp for Exporting from SQL Server to Text Files. Using Replication.


29. Integrating DTS with Meta Data Services.

Why You Should Use Meta Data Services with DTS.

Meta Data. The Meta Data Services Storage Choice.

The DTS Browser.

The Browse Tab. The Lineage Tab. The Package Tab.

The Meta Data Browser.

Finding Information About DTS Objects and Properties. Exporting to XML.

Other Meta Data Services Tools.

The Repository Database. Object Models. The Meta Data Services SDK. DWSoft's DWGuide-A Third-Party Meta Data Tool.

Configuring DTS for Column-Level Data Lineage.

Package Scanning Choices The RepositoryMetadataOptions Property.

Configuring DTS for Row-Level Data Lineage.

Lineage Variable Choices. The LineageOptions Property. Saving the Lineage Variables.

Accessing Lineage Information Programmatically. Conclusion.


30. Programming with the DTS Object Model.

Objects and Extended Objects. The DTS Package Object Hierarchy. Using Tasks and Custom Tasks.

Referencing a Task and a Custom Task. Creating a New Task. Object Names and Programmatic Identifiers for the Custom Tasks.

Using Collections. Using Properties and the Properties Collection. The DTS Application Object Hierarchy. Documenting the Connections in a DTS Package. Conclusion.

31. Creating a Custom Task in.

When You Should Create a New Custom Task. Getting Started. Implementing the Custom Task Interface.

The Name Property. The Description Property. The Properties Collection. The Execute Method.

Implementing the Custom Task User Interface.

The New Method. The Edit Method. Initialize. Help.

Events, Errors, and Logs. Registering a Custom Task. Using a Custom Task in a DTS Package. The Find File Task. The LocalCubeTask. Conclusion.

32. Creating a Custom Transformation with VC++.

Why You Should Create a Custom Transformation. The Data Pump Interfaces. Preparing the C++ Custom Transformation Development Environment. Creating a Custom Transformation.

Starting the Project. Adding a Property to the Custom Transformation. Adding Code for the PreValidateSchema Method. Adding Code for the ValidateSchema Method. Adding Code for the ProcessPhase Method. Adding the Project's Error Definitions. Registering the Custom Transformation.




Submit Errata

More Information

InformIT Promotional Mailings & Special Offers

I would like to receive exclusive offers and hear about products from InformIT and its family of brands. I can unsubscribe at any time.


Pearson Education, Inc., 221 River Street, Hoboken, New Jersey 07030, (Pearson) presents this site to provide information about products and services that can be purchased through this site.

This privacy notice provides an overview of our commitment to privacy and describes how we collect, protect, use and share personal information collected through this site. Please note that other Pearson websites and online products and services have their own separate privacy policies.

Collection and Use of Information

To conduct business and deliver products and services, Pearson collects and uses personal information in several ways in connection with this site, including:

Questions and Inquiries

For inquiries and questions, we collect the inquiry or question, together with name, contact details (email address, phone number and mailing address) and any other additional information voluntarily submitted to us through a Contact Us form or an email. We use this information to address the inquiry and respond to the question.

Online Store

For orders and purchases placed through our online store on this site, we collect order details, name, institution name and address (if applicable), email address, phone number, shipping and billing addresses, credit/debit card information, shipping options and any instructions. We use this information to complete transactions, fulfill orders, communicate with individuals placing orders or visiting the online store, and for related purposes.


Pearson may offer opportunities to provide feedback or participate in surveys, including surveys evaluating Pearson products, services or sites. Participation is voluntary. Pearson collects information requested in the survey questions and uses the information to evaluate, support, maintain and improve products, services or sites, develop new products and services, conduct educational research and for other purposes specified in the survey.

Contests and Drawings

Occasionally, we may sponsor a contest or drawing. Participation is optional. Pearson collects name, contact information and other information specified on the entry form for the contest or drawing to conduct the contest or drawing. Pearson may collect additional personal information from the winners of a contest or drawing in order to award the prize and for tax reporting purposes, as required by law.


If you have elected to receive email newsletters or promotional mailings and special offers but want to unsubscribe, simply email information@informit.com.

Service Announcements

On rare occasions it is necessary to send out a strictly service related announcement. For instance, if our service is temporarily suspended for maintenance we might send users an email. Generally, users may not opt-out of these communications, though they can deactivate their account information. However, these communications are not promotional in nature.

Customer Service

We communicate with users on a regular basis to provide requested services and in regard to issues relating to their account we reply via email or phone in accordance with the users' wishes when a user submits their information through our Contact Us form.

Other Collection and Use of Information

Application and System Logs

Pearson automatically collects log data to help ensure the delivery, availability and security of this site. Log data may include technical information about how a user or visitor connected to this site, such as browser type, type of computer/device, operating system, internet service provider and IP address. We use this information for support purposes and to monitor the health of the site, identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents and appropriately scale computing resources.

Web Analytics

Pearson may use third party web trend analytical services, including Google Analytics, to collect visitor information, such as IP addresses, browser types, referring pages, pages visited and time spent on a particular site. While these analytical services collect and report information on an anonymous basis, they may use cookies to gather web trend information. The information gathered may enable Pearson (but not the third party web trend services) to link information with application and system log data. Pearson uses this information for system administration and to identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents, appropriately scale computing resources and otherwise support and deliver this site and its services.

Cookies and Related Technologies

This site uses cookies and similar technologies to personalize content, measure traffic patterns, control security, track use and access of information on this site, and provide interest-based messages and advertising. Users can manage and block the use of cookies through their browser. Disabling or blocking certain cookies may limit the functionality of this site.

Do Not Track

This site currently does not respond to Do Not Track signals.


Pearson uses appropriate physical, administrative and technical security measures to protect personal information from unauthorized access, use and disclosure.


This site is not directed to children under the age of 13.


Pearson may send or direct marketing communications to users, provided that

  • Pearson will not use personal information collected or processed as a K-12 school service provider for the purpose of directed or targeted advertising.
  • Such marketing is consistent with applicable law and Pearson's legal obligations.
  • Pearson will not knowingly direct or send marketing communications to an individual who has expressed a preference not to receive marketing.
  • Where required by applicable law, express or implied consent to marketing exists and has not been withdrawn.

Pearson may provide personal information to a third party service provider on a restricted basis to provide marketing solely on behalf of Pearson or an affiliate or customer for whom Pearson is a service provider. Marketing preferences may be changed at any time.

Correcting/Updating Personal Information

If a user's personally identifiable information changes (such as your postal address or email address), we provide a way to correct or update that user's personal data provided to us. This can be done on the Account page. If a user no longer desires our service and desires to delete his or her account, please contact us at customer-service@informit.com and we will process the deletion of a user's account.


Users can always make an informed choice as to whether they should proceed with certain services offered by InformIT. If you choose to remove yourself from our mailing list(s) simply visit the following page and uncheck any communication you no longer want to receive: www.informit.com/u.aspx.

Sale of Personal Information

Pearson does not rent or sell personal information in exchange for any payment of money.

While Pearson does not sell personal information, as defined in Nevada law, Nevada residents may email a request for no sale of their personal information to NevadaDesignatedRequest@pearson.com.

Supplemental Privacy Statement for California Residents

California residents should read our Supplemental privacy statement for California residents in conjunction with this Privacy Notice. The Supplemental privacy statement for California residents explains Pearson's commitment to comply with California law and applies to personal information of California residents collected in connection with this site and the Services.

Sharing and Disclosure

Pearson may disclose personal information, as follows:

  • As required by law.
  • With the consent of the individual (or their parent, if the individual is a minor)
  • In response to a subpoena, court order or legal process, to the extent permitted or required by law
  • To protect the security and safety of individuals, data, assets and systems, consistent with applicable law
  • In connection the sale, joint venture or other transfer of some or all of its company or assets, subject to the provisions of this Privacy Notice
  • To investigate or address actual or suspected fraud or other illegal activities
  • To exercise its legal rights, including enforcement of the Terms of Use for this site or another contract
  • To affiliated Pearson companies and other companies and organizations who perform work for Pearson and are obligated to protect the privacy of personal information consistent with this Privacy Notice
  • To a school, organization, company or government agency, where Pearson collects or processes the personal information in a school setting or on behalf of such organization, company or government agency.


This web site contains links to other sites. Please be aware that we are not responsible for the privacy practices of such other sites. We encourage our users to be aware when they leave our site and to read the privacy statements of each and every web site that collects Personal Information. This privacy statement applies solely to information collected by this web site.

Requests and Contact

Please contact us about this Privacy Notice or if you have any requests or questions relating to the privacy of your personal information.

Changes to this Privacy Notice

We may revise this Privacy Notice through an updated posting. We will identify the effective date of the revision in the posting. Often, updates are made to provide greater clarity or to comply with changes in regulatory requirements. If the updates involve material changes to the collection, protection, use or disclosure of Personal Information, Pearson will provide notice of the change through a conspicuous notice on this site or other appropriate way. Continued use of the site after the effective date of a posted revision evidences acceptance. Please contact us if you have questions or concerns about the Privacy Notice or any objection to any revisions.

Last Update: November 17, 2020