I am not sure if this is the correct place to post my question to. If this is a wrong list, can you tell me the right one.
I am bulk loading rows using the following code:
const string connString = "myConnString"; using(var conn = new NpgsqlConnection(connString)) { conn.Open(); var command = conn.CreateCommand(); var copyStr = string.Format("COPY staging.test(col1,col2) FROM STDIN"); command.CommandText = copyStr; command.CommandType = CommandType.Text; var serializer = new NpgsqlCopySerializer(conn); var copyIn = new NpgsqlCopyIn(command, conn, serializer.ToStream); copyIn.Start(); foreach (var row in incomingRows) { //feed the values here } copyIn.End(); serializer.Flush(); serializer.Close(); command.Dispose(); } If incomingRows has one or more items, this works. However, if no rows are saved, serializer.Close() blows up:
System.NullReferenceException : Object reference not set to an instance of an object. at Npgsql.NpgsqlCopySerializer.Close()