Not published
Teradata .NET Data Provider 13.01.00.01
About this download
The .NET Data Provider for Teradata is an implementation of the Microsoft ADO.NET specification. It provides direct access to the Teradata Database and integrates with the DataSet. .NET Applications use the .NET Data Provider for Teradata to load data into the Teradata Database or retrieve data from the Teradata Database.
README
-------------------------------------------------------------------------------- .NET Data Provider for Teradata Version 13.01.00.01 -------------------------------------------------------------------------------- RELEASE NOTES Content: 1.0 Overview 1.1 New Features 1.2 Problems Fixed 2.0 Teradata Product Dependencies 3.0 Operating Environments 4.0 Installation 4.1 Recommendations 4.2 Installation Procedure 5.0 Uninstall 6.0 Restrictions and Known Issues 1.0 Overview ============ The .NET Data Provider for Teradata is an implementation of the Microsoft ADO.NET specification. It provides direct access to the Teradata Database and integrates with the DataSet. .NET Applications use the .NET Data Provider for Teradata to load data into the Teradata Database or retrieve data from the Teradata Database. 1.1 New Features ================ .NET Data Provider for Teradata Version 13.1.0.1 contains no new features. .NET Data Provider for Teradata Version 13.1.0.0 new features are: a) New Provider Specific Types have been added that support the Teradata Database Interval Types: -TdIntervalYear Database equivalent: INTERVAL YEAR -TdIntervalYearToMonth Database equivalent: INTERVAL YEAR TO MONTH -TdIntervalMonth Database equivalent: INTERVAL MONTH -TdIntervalDay Database equivalent: INTERVAL DAY -TdIntervalDayToHour Database equivalent: INTERVAL DAY TO HOUR -TdIntervalDayToMinute Database equivalent: INTERVAL DAY TO MINUTE -TdIntervalDayToSecond Database equivalent: INTERVAL DAY TO SECOND -TdIntervalHour Database equivalent: INTERVAL HOUR -TdIntervalHourToMinute Database equivalent: INTERVAL HOUR TO MINUTE -TdIntervalHourToSecond Database equivalent: INTERVAL HOUR TO SECOND -TdIntervalMinute Database equivalent: INTERVAL MINUTE -TdIntervalMinuteToSecond Database equivalent: INTERVAL MINUTE TO SECOND -TdIntervalSecond Database equivalent: INTERVAL SECOND b) Support for the Teradata Graphic Server Character Set has been added. c) Query Band and Trusted Session support has been added at the connection and transaction levels. The TdQueryBand object will manage the Query Band definitions. d) Support for IPV6 has been added. e) Support for System.DateTimeOffset has been added. Applications can send data of type DateTimeOffset to Teradata, and receive data from Teradata as a DateTimeOffset type. This feature can be turned off by setting the Connection String Attribute EnableDateTimeOffset to false. f) The installation package for the .Net Data Provider for Teradata is now digitally signed. The digital signature assures that the installation package has not been tampered with or altered by a third party. g) The TdError type contains a new property called Info. For syntax errors the Info property will contain the character position of the parser syntax error in the command text. For other errors the content meaning will vary. .Net Data Provider for Teradata Version 13.0.0.0 new feature are: a) Provider now supports the StatementInfo parcel when receiving data from Teradata. This enables the provider to make available additional metadata about SQL statements sent to Teradata. A new connection string attribute, UseEnhancedSchemaTable, has been added to prevent compatibility problems with existing applications that are caused by the additional metadata. The default setting for this attribute is "true" which indicates that the additional metadata will be available to an application. The following features are also available When UseEnhancedSchemaTable is "true": -Additional metadata is available to an application (TdDataReader.GetSchemaTable()). -TdCommandBuilder requires that a primary key must be defined by the database table specified in the SELECT statement. -The setting of the property TdCommandBuider.ConflictOption will now affect how the WHERE clause is constructed. -The TdCommandBuilder will use the key of the table when constructing the WHERE clause of the UPDATE and DELETE statements. -Visual Studio 2005 DataSet Designer The Key of the tables will be displayed. -Sql Server Business Intelligence Development Studio Cubes can be created without manually specifying the key when the corresponding database table has been defined with a key. -Visual Studio 2008 Query Designer All relationships between tables are displayed graphically . When this attribute is set to "false", the provider will return the same metadata as the prior releases. b) New Provider Specific Types have been added that support the Teradata Database Period Data Types: -TdPeriodDate Database equivalent: PERIOD(DATE) -TdPeriodTime Database equivalent: PERIOD(TIME(scale)) -TdPeriodTimeWithTimeZone Database equivalent: PERIOD(TIME(scale) WITH TIME ZONE) -TdPeriodTimestamp Database equivalent: PERIOD(TIMESTAMP(scale)) -TdPeriodTimestampWithTimeZone Database equivalent: PERIOD(TIMESTAMP(scale) WITH TIME ZONE) c) The Table Schema Collection will return information about tables that have No Primary Index. 1.2 Problems Fixed ================== Version 13.1.0.1: a) DR135592: Connections using Internet Protocol Version 6 (IPv6) now succeed regardless of the length of the IPv6 address. Connections with an address of exactly 25 characters failed previously. b) DR137172: Data Source to IP-Address resolution now succeeds on on Microsoft Windows 7. Previously Data Provider generated error number 115006 (Could not resolve DataSource=XCOPn to an IP Address) in some cases (e.g. Teradata SQL Assistant 13.0). c) DR137565: Efix installations will now ask for confirmation of removing the version being replaced (if exists). Complete the removal of the existing program folder and the provider directory. d) DR138376: Connection pooling will not add a session that may have been killed previously. The connection string property "Max Pool Size" must have been set for the killed session to be returned back to the connection pool causing the error. Version 13.1.0.0: a) DR129806: The Teradata Database would return the error "Locator is invalid because it has been changed" when filling a DataTable that contains a LOB data. This occurs when TdDataAdapter.FillSchema is called to populate the DataTable with schema information, and then calling TdDataAdapter.Fill. This will no longer occur. b) DR130274: The Parse methods of TdTimestampWithTimeZone and TdTimeWithTimezone was unable to parse a string that did not contain a UTC offset. A FormatException gets thrown. The Parse methods have been fixed so that a string that does not contain a UTC offset can be succesfully parsed. The default UTC offset that will be used is the local offset of the machine. c) DR130286: There are some applications that add a new line character to the CommandText. When the command is executed, the Teradata Database will throw an error indicating that the new line character is not a valid token. The provider will now remove the new line character before submitting the command to Teradata. d) DR131704: The documentation for the Add and Subtract methods for TdPeriodTime and TdPeriodTimeWithTimeZone incorrectly stated that an ArithmeticException will get thrown when the operation results with the beginning bound of the period being greater than or equal to the ending bound. This has been changed to state that a TdException will get thrown. e) DR133580: "00:00" was used as the default offset when TdTimestampWithTimeZone and TdTimeWithTimeZone objects are created using constructors that do not include a UTC offset parameter. This default was also being used when a "timestamp" or "time" was implicitly converted to a TdTimestampWithTimeZone or TdTimeWithTimeZone, respectively. This has changed so that the local offset of the machine is used as the default offset. This change in behavior also affects TdTimestampWithTimeZone and TdTimeWithTimeZone. f) DR134080: The end bound of a period was not being correctly handled when explicitly converted to another Period type. Suppose a period has an end bound that is equivalent to the UNTIL_CHANGED value. When it is converted to another Period type, the end bound of the resulting period was not being set to the equivalent UNTIL_CHANGED value of the targeted period. This has been fixed so that the UNTIL_CHANGED value of the source type is converted to the equivalent UNTIL_CHANGED value of the targeted period type during an explicit conversion operation. This affects conversions to TdPeriodTimeWithTimeZone and TdPeriodTimestampWithTimeZone. Version 13.0.0.1: a) DR123430: The DataSet Designer now orders columns of tables in the order that they were defined in the data definition. b) DR123610: An ArgumentOutOfRangeException will now be thrown when the property TdDataAdapter.UpdateBatchSize is set to a negative value. c) DR126310: Documentation has been added to Developer's Guide under Working With Provider Features -- TdDataAdapter And TdCommandBuiler -- Guidelines -- Attempting to insert a Null value into an Identity Column. This section provides a guideline when inserting data of type decimal into a column defined as a DECIMAL and "GENERATED ALWAYS AS IDENTITY". d) DR126436: The Teradata Provider now correctly handles the situation when an instance of a TdCommandBuilder is set to another instance of a TdDataAdapter using the TdCommandBuilder.DataAdapter property. When TdCommandBuilder.DataAdapter is used to change the associated TdDataAdapter, the provider unregisters with the existing one then registers with the new data adapter. e) DR127698: An ArgumentOutOfRangeException is no longer thrown when TdCommand.UpdateRowSource is set to UpdateRowSource.OutputParameters. f) DR128027: The Teradata Provider will not set the PRIMARY_KEY column of the Indexes Schema Collection to true for all columns contained in a composite unique primary index. All the columns in the index must also be defined as NOT NULL. g) DR128225: Silent install is now correctly working. Visual Studio 2005 and 2008 options are no longer ignored during silent installation. h) DR129224: Documentation has been added to Developer's Guide under Working With Provider Features -- TdDataAdapter and TdCommandBuilder -- Guidelines -- Inserting Into a Column Defined As NOT NULL with a Default value. This section provides a guideline when data is being inserted into a database table that contains a column that is defined as NOT NULL with a DEFAULT. i) DR129318: The ToString method of the Date and Time types now generates the correct Teradata literal string representation. j) DR129320: The IConvertible.ToType implementation of the Period types have been fixed. When this method was invoked, it was possible that the Teradata Provider could go into an infinite loop. k) DR129794: The LDAP and SPNEGO mechanisms now work when using Query Directory. l) DR124922: The LdapServicePassword is no longer stored in plain text. Version 13.0.0.0: a) DR 121823: ToTimeZone method has been added to TdTimeWithTimeZone and TdTimestampWithTimeZone. This method allows the time zone to be changed. b) DR 121825: Exceptions that are thrown from the Date And Time methods are now documented. c) DR 122987: When the properties of a Null Date And Time value (e.g. TdDate.Null) is accessed, a TdException will now get thrown that indicates that this instance is the null value. d) DR 123437: An ArgumentNullException is now thrown when a null String reference is passed as the value parameter to the Parse method of all Provider Specific Date And Time Types. If a String.Empty is passed as parameter into any of the Parse methods a FormatException is now thrown. e) DR 124079: There were many problems with the documentation related to the Provider Specific Date And Time Types. Some of the exceptions thrown by properties and methods were not documented, and documentation needed to be clarified for the Parse and ToString methods. f) DR 124081: The TdTimestampWithTimeZone.GetHashCode threw an exception when this method is called from a Null value. This has been fixed so that when GetHashCode is called from a Null value, a 0 is returned. g) DR 124265: Documentation for the method ToString(IFormatProvider) of all Date And Time Provider Specific Types has been updated to indicate that the cultural settings specified in the DateTimeFormatInfo object is ignored. h) DR 124448: A FormatException will now get thrown from the Parse methods of TdTime, TdTimeWithTimeZone, TdTimestamp or TdTimestampWithTimeZone when the string representation contains a scale that is greater than 6, . i) DR 124670: A "Null" string is now parsed by the following types -TdDecimal -TdDate -TdTime -TdTimeWithTimeZone -TdTimestamp -TdTimestampWithTimeZone The return value is the type's Null value. j) DR 124723: When an application uses the TdDataAdapter, customizes the commands, and defines parameters the Teradata Database may throw an error if the provider uses Iterated Requests. A workaround for this problem is described in the page Developer's Guide -- Working With Provider Features -- TdCommandBuilder and TdDataAdapter -- Specifying INSERT, UPDATE, DELETE command. k) DR 128080: The provider threw an InvalidCastException when an application attempted to convert character data to a DateTime when the session character set was UTF8. The Teradata Database padded the character data with spaces which caused the overall length to be greater than 10 characters (YYYY-MM-DD). This exception got thrown when the length was greater than 10. l) DR 128171: TdTransaction.Commit threw an exception in ANSI session mode when the Connection Isolation level (TdConnection.IsolationLevel) did not match what was specified at the Transaction level. m) DR 128112: When the total size of the parameters of a command is greater than what is allowed by the Teradata Database, the provider threw an InvalidOperationException that contained an unhelpful error message. This has changed so that a more informative exception is thrown. A TdException will now get thrown that also contains a more informative error message. n) DR 128146: This problem ocurrs when the provider is connected to a Teradata Database version 6.2 or earlier. The TdParameter.ProviderSpecificValue property returned a Provider Specific Date And Time Type (e.g. TdDate, TdTimestamp, etc...) when the EnableTdDateTime Connection String Attribute was set to false. This has been fixed so that this property now returns the corresponding .NET Framework type. o) DR 128208: The provider supports Batch Update using Multi-Statement and/or Iterated Requests. When the provider used Iterated Request there was a problem when the session mode had been set to ANSI. The provider appended a "COMMIT WORK" to the SQL statement. The Teradata Database returned an error indicating that it expected a single request. p) DR 128235: This problem is related to the Parse method of TdTime/TdTimeWithTimeZone and TdTimestamp/TdTimestampWithTimeZone. In the string representation of these types, the sub-seconds did not get correctly parsed when a IFormatProvider of a culture different from "invariant" was specified. q) DR 128274: The provider did not automatically grow an internal buffer when a "CREATE STORED PROCEDURE" statement was executed and returned a large result set. In this situation, an application received a Teradata Database error 3115 which indicates that the internal buffer is to small to hold one record. This has been modified so that the 3115 error is handled internally and the size of the buffer is automatically adjusted by the provider. r) DR 128313: Visual Studio Change Password feature now correctly works when the Session Mode is set to ANSI. 2.0 Teradata Product Dependencies ================================= .NET Data Provider for Teradata Version 13.1 is not dependent on Teradata Call-Level Interface (CLI). It communicates directly to Teradata database. There are no dependencies on any of the Teradata Client products. .NET Data Provider for Teradata architecture is MSIL. Therefore a single installation can support 32-bit and 64-bit applications. 3.0 Operating Environments =========================== The following operating environments are supported: Client Operating Systems: Microsoft Windows 2000 SP4 Microsoft Windows XP Professional SP2 x86 Microsoft Windows Server 2003 x86 Microsoft Windows Server 2008 Standard x86 Edition Microsoft Windows Server 2008 Enterprise x86 Edition Microsoft Windows Vista Enterprise SP1 x86 Edition Microsoft Windows XP Professional x64 Edition Microsoft Windows Server 2003 x64 Edition Microsoft Windows Server 2008 Standard x64 Edition Microsoft Windows Server 2008 Enterprise x64 Edition Microsoft Windows Vista Enterprise SP1 x64 Edition Client Operating Environment: Microsoft .NET Framework 2.0 SP1 x86 Microsoft .NET Framework 2.0 SP1 x64 Microsoft .NET Framework 3.0 SP1 x86 Microsoft .NET Framework 3.0 SP1 x64 Microsoft .NET Framework 3.5 x86 Microsoft .NET Framework 3.5 x64 Microsoft Visual Studio: 2005 2008 Teradata Database Releases: 6.0 6.1 6.2 12.0 13.0 NOTE: SPNEGO Authentication Mechanism is disabled by default. It must be enabled from the Teradata Database. Refer to the Teradata Database Security Administration manual for more information on activating this mechanism. 4.0 Installation ================ For step-by-step Installation Instruction refer to "Release Definition Including Installation Instruction" document on http://www.info.Teradata.com. Navigate to General Search and use Publication Product ID 2032 to locate the document. 4.1 Installation Procedure ========================== The .NET Data Provider for Teradata is dependent on Microsoft .NET Framework version 2.0 SP1. This prerequisite can be downloaded from http://msdn.microsoft.com/en-us/netframework/aa569263.aspx. Follow this procedure to install .NET Data Provider for Teradata version 13.1: 1- Run tdnetdp__windows_indep.13.1.0.0.exe. 2- In the Choose Setup Language dialog, select the Language you want to use and click OK. 3- When the Welcome screen appears, click Next>. 4- In the Select Features dialog, click Next> to accept the defaults. If neither Visual Studio 2005 nor SQL Server 2005 is installed, deselect the "Visual Studio 2005 Integration" feature. If neither Visual Studio 2008 nor SQL Server 2008 is installed, deselect the "Visual Studio 2008 Integration" feature. 5- In the Choose Destination Location screen, choose a destination folder and click Next>. 6- In the Select Program Folder dialog, click Next>. 7- In the Start Copying Files dialog, click Next> to start copying files. 8- In the InstallShield Wizard Complete screen, click Finish. NOTE: Microsoft Visual Studio 2005 or 2008 will update the HELP the very first time a Help page is accessed from within Visual Studio 2005 or 2008. In most cases Microsoft Visual Studio 2005/2008 will display ìHelp Update In Progressî dialog box. This step will take several minutes to complete. 5.0 Uninstall ============= Follow this procedure to uninstall .NET Data Provider for Teradata version 13.1.0.0: 1- Open "Control Panel". 2- Start "Add or Remove Programs". 3- Find ".NET Data Provider for Teradata 13.1" and click Change/Remove. 4- In the ".NET Data Provider for Teradata - InstallShield Wizard", choose "Remove" and click Next>. 5- In the Maintenance Complete dialog, click Finish. 6.0 Restrictions and Known Issues ================================= a) .NET Data Provider for Teradata Version 13.1 requires Full Trust permission set to run. b) TdDataAdapter configuration wizard, in Microsoft Visual Studio 2005, does not generate unique names for the Commands. It always generates SelectCommand, InsertCommand, UpdateCommand and DeleteCommand names for the corresponding instances of TdCommand class. In order to configure a second or subsequent TdDataAdapter, the existing generated commands must be renamed to a different name which does not conflict with the default generated command names. For instance SelectCommand may be renamed to SelectCommand1. c) TableAdapter Query Configuration Wizard, in Microsoft Visual Studio 2008, does not generate correct Parameters for INSERT Query Type. This is a known Visual Studio 2008 limitation. See incident number 331845 at http://connect.microsoft.com/VisualStudio. d) There is a known issue with Microsoft Visual Studio Data Set Designer, and .NET Framework 2.0 Service Pack 1 (SP1). The issue is related to Precision and Scale. When the Precision and Scale are set from the Parameters Collection Editor dialog box, the values do not get persisted in the generated code. There is a .Net Framework 2.0 SP1/SP2 HotFix for Visual Studio 2005 and 2008 that fixes this issue. For more information on this refer to: http://support.microsoft.com/kb/958252 The HotFix can be downloaded and installed from: http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=958252&kbln=en-us