I have an SQL Server 2000 SP4 (8.00.2039) server with a DTS package on it that performs a simple data copy from a table in SQL to a DB2 Mainframe table. At this point I am attempting to copy a single row from the source to the destination, and it fails with the error: "Microsoft cursor engine: Out of memory."

In Profiler, I can see the package start, perform the select statement, then nothing until the logout.

In Task Manager, I see the dtsrun.exe process start, and it just starts grabbing memory at about 2 MB per second, until the process simply takes up all the available memory on the server, and dies.

This is what happens when I use the IBM DB2 OLE DB driver provided by IBM. If I use the Microsoft ODBC DB2 driver, the dtsrun.exe process only takes up about 12 MB, but then fails with the same error (out of memory).

Any ideas?