Skip to Content

Archived discussions are read-only. Learn more about SAP Q&A

AseBulkCopy.WriteToServer error: Incorrect syntax near ','

Is it possible to populate a temp table using AseBulkCopy.WriteToServer?

I am calling the below method twice in my test app: firstly with a non-temp table and secondly with a temp table. The code runs fine with the non-temp table, but when trying to populate a temp table the error:

    Incorrect syntax near ','.

is raised.

In both cases the target and source tables have just a single column, defined as an INT with the same name.

I have tried using a DataTable and an IDataReader as the source of the data and both result in the same error being raised.

I have tried using both "EnableBulkLoad=1" and "EnableBulkLoad=2" in the connection string.

I have tried using both the raw temp table name and the name prefixed with "dbo."

The data to be loaded is a single int value (ie, 1 row, 1 column) although it also happens if have longer rows or multiple rows.

It's worth noting that I can insert data into the temp table (using AseCommand.ExecuteNonQuery) and can execute a 'SELECT COUNT (1)' from the temp table (using AseCommand.ExecuteScalar) successfully.

Here is the code:

  private static void BulkCopyInsertIntoTable(string tableName)


    IDataReader dataSource = null;

    SqlConnection sourceConnection = null;

    MssqlCommand.GetDataReader(SqlServerConnectionString, out sourceConnection, out dataSource);

    AseConnection targetConnection = new AseConnection(SybaseConnectionString);




      AseCommand cmd = new AseCommand();

      AseBulkCopy blk = new AseBulkCopy(targetConnection);

      blk.DestinationTableName = tableName;


      //blk.ColumnMappings.Add(new AseBulkCopyColumnMapping(0, 0));//Doesn't make any difference with a datasource, causes an error to be raised with a datatable.

      Console.WriteLine("bulkcopy insert into the table " + tableName + " ..starting: datasource");


      Console.WriteLine("bulkcopy insert into the table " + tableName + " ..starting: datatable");


      DataTable dt = SybaseCommand.GetFakeDataTable(); ;



    catch (AseException ex)







      Console.WriteLine("bulkcopy insert into the table " + tableName + " ..ended");



Firstly, is it possible to populate a temp table using WriteToServer?

Assuming it is, what might I being doing wrong?


Not what you were looking for? View more on this topic or Ask a question