Release Notes


Release Notes


New DBAmp Driver Engine improves SQL Server Stability and Driver Performance

The latest version of CData DBAmp includes a completely redesigned driver engine compared to earlier versions. One of the key advantages of this new engine is that DBAmp no longer runs in process with SQL Server. Instead, DBAmp runs as a Windows service on the SQL Server machine. Running the driver engine in a separate process improves the overall stability of the SQL Server environment.

This new driver engine architecture changes how DBAmp linked servers are configured. Instead of connecting directly to the DBAmp OLE DB Provider, you must now use the Microsoft OLE DB Driver for SQL Server as the provider. The CData DBAmp Windows service listens on a local network port for requests. DBAmp linked servers specify this port in the Data Source field of the linked server configuration.

The CData DBAmp Windows Service is automatically configured to run continuously when you install the product. The DBAmp Configuration program provides a console that you can use to start and stop the service. You can also manage the service through the Windows Service Manager.

In addition, the new CData DBAmp driver engine improves performance in several key areas. Query performance for joins between Salesforce objects using standard SQL SELECT statements has been enhanced, reducing the need to use OPENQUERY SOQL alternatives.

Functional Changes

Before you upgrade to this new version of DBAmp, review the major changes that are introduced in this release. This list does not include all minor changes.

As a best practice, you should first upgrade DBAmp in a test or development environment and perform any necessary regression testing. After you validate your environment, proceed with upgrading your production SQL Server environments.

Ellipsis (…) Shorthand for Object Names That Are No Longer Supported

The syntax for DBAmp four-part object names has changed. The new version requires the use of the CData catalog and the Salesforce schema.

Previous version:

SELECT * from SFLC...Contact 

New version:

SELECT * from SFLC.CData.Salesforce.Contact 

Metadata Changes

The system tables sys_sfsession, sys_sfobjects, sys_sffields, and sys_sfpicklists have been removed. See the DBAmp documentation for alternatives when working with metadata.

DBAmp Configuration Settings Changes

Many of the DBAmp configuration program settings now have new names. See the DBAmp documentation for details about these changes to the DBAmp Configuration settings.

ConvertCurrency and ToLabel No Longer Supported

The global ConvertCurrency and ToLabel settings have been removed. As a workaround, construct a SELECT statement that uses OPENQUERY and explicitly calls these functions, as shown in this example:

SELECT * FROM openquery(salesforce,  
'Select Id, ConvertCurrency(annualrevenue), ToLabel(type) 26 from Account')  

Documentation is Now in HTML Format

The DBAmp documentation is now available in HTML format instead of a PDF. You can access the DBAmp HTML Help from the Help menu option of the DBAmp Configuration program.

Deprecated Functionality and Stored Procedures

The following features and components have been removed from the new version of DBAmp:

  • the MigrateAmp functionality

  • the DBAmp Client functionality

The following DBAmp stored procedures have also been removed:

  • SF_ColCompare

  • SF_CreateKeys

  • SF_DropKeys

  • SF_MigrateBuilder

  • SF_MigrateGraphML

Support for using DBAmp with SQL Server Integration Services (SSIS) has been removed. DBAmp Technical Support recommends using the [CData SSIS]https://www.cdata.com/drivers/salesforce/ssis/){:target=”_blank”} instead.

CData DBAmp no longer uses the same serial-number structure as earlier versions.

Data-Type Name Changes

The following table lists Salesforce field types, their former SQL Server data-type names, and the new SQL Server data types.

Salesforce Field Type SQL Server Data Type (Current) SQL Server Data Type (New)
Lookup Relationship NCHAR(18) NVARCHAR(18)
Master-detail relationship NCHAR(18) NVARCHAR(18)
Checkbox BIT BIT or NVARCHAR(5)
Currency DECIMAL(18, 0) NUMERIC(18, 0)
Date DATETIME2(7) DATETIME2(7)
Datetime DATETIME2(7) DATETIME2(7)
Email NVARCHAR(80) NVARCHAR(80)
Geolocation DECIMAL(18, 2) FLOAT
Number DECIMAL(18, 0) FLOAT
Percent DECIMAL(18, 2) FLOAT
Phone NVARCHAR(40) NVARCHAR(40)
Picklist NVARCHAR(255) NVARCHAR(255)
Picklist (multi-select) NTEXT or NVARCHAR(max) NVARCHAR(max)
Text NVARCHAR(length) NVARCHAR(length)
Text Area NVARCHAR(255) NVARCHAR(255)
Text Area (Long) NVARCHAR(length) or NVARCHAR(max) or NTEXT NVARCHAR(length) or NVARCHAR(max)
Text Area (Rich) NVARCHAR(length) or NVARCHAR(max) or NTEXT NVARCHAR(length) or NVARCHAR(max)
Text NVARCHAR(length) NVARCHAR(length)
URL NVARCHAR(length) NVARCHAR(length)
Binary VARBINARY(max) VARBINARY(max)
Time NVARCHAR(40) TIME(7) or NVARCHAR(40)

Notes for New Version:

  • For Text Area (Long) and Text Area (Rich) the default is NVARCHAR(length). If length of field is greater than the MinimumLongSize setting, the field data type is NVARCHAR(max).

  • By default, DBAmp does not download binary blob data.

Supported OS and SQL Server Version

Microsoft SQL Server 2000 and Windows XP are no longer supported. See Prerequisites for a list of supported software.

Changes Relevant to v5.0.1 or Later

Change for v5.0.1 or later:

  • DBAmp now uses the BIT data type instead of VARCHAR(5) for all Boolean fields. The default type is BIT.

  • All fields are now nullable, except for the ID field in local tables.

Make sure that all downstream processes that use the local tables are compatible with these changes.