.NET provider (ver 15.xx), TdCommandBuilder, bulk load, error

Connectivity
Enthusiast

.NET provider (ver 15.xx), TdCommandBuilder, bulk load, error

Hello.

We use TdCommandBuilder/TdDataAdapter for bulk insert.

We use version 14.11.00.01, everything works fine,

I tried newer version, but sometimes I receive errors:

- 15.01.00.01

[.NET Data Provider for Teradata] [100038] Command did not complete within the time specified (timeout).

[Teradata Database] [3110] The transaction was aborted by the user.

[Socket Transport] [115003] The recieve operation timed out.

- 15.11.00.01

The statement that caused the error was not found. error: [Teradata Database] [ 3110] The transaction was aborted by the user.

Can you help me?

P.

4 REPLIES
Teradata Employee

Re: .NET provider (ver 15.xx), TdCommandBuilder, bulk load, error

The default Command-Timeout is 30 seconds. How long does it take to execute the command(s) with 14.11.0.1? 

The System.Data.Common.DbCommandBuilder class transfers the CommandTimeout from the SelectCommand to the Update, Insert and Delete commands. So you can change the Default 30 seconds command-timeout on TdDataAdapter.SelectCommand.

Refer to http://referencesource.microsoft.com/#System.Data/System/Data/Common/DBCommandBuilder.cs,1296

Enthusiast

Re: .NET provider (ver 15.xx), TdCommandBuilder, bulk load, error

Yes, timeout is 30 sec. Execution times for batch Update with version 14:

- 200 rows, 0:4.3 (4 sec.)

- 400 rows, 0:6.6

- 800 rows, 0:9.4

- 1600 rows, 0:17.7

- 3200 rows, 0:42.2

- 6400 rows, 1:18.3

- 12800 rows, 2:17.7 (2 min., 18 sec.)

Enthusiast

Re: .NET provider (ver 15.xx), TdCommandBuilder, bulk load, error

When changed timeout to bigger value in 15.01, it works.

Does it mean you changed semantics of CommandTimeout in 15.xx version? Or just in version 14 it was ignored?

Teradata Employee

Re: .NET provider (ver 15.xx), TdCommandBuilder, bulk load, error

No we did not change the semantics of the Command Timeout.

The .NET Data Provider 15.0 was enhanced to support new batch-update scenarios. It might be sending a larger Batch-Update to Teradata Database which requires a larger command-timeout.