Npgsql.NpgsqlCopySerializer.Close C# (CSharp) Method

Close() public method

Close the serializer.
public Close ( ) : void
return void
        public void Close()
        {
            if (_atField > 0)
            {
                EndRow();
            }
            Flush();
            ToStream.Close();
        }

Usage Example

示例#1
0
        public void Bug219NpgsqlCopyInConcurrentUsage()
        {

            try
            {
                // Create temporary test tables

                ExecuteNonQuery(@"CREATE TABLE Bug219_table1 (
                                            id integer,
                                            name character varying(100)
                                            )
                                            WITH (
                                            OIDS=FALSE
                                            );");

                ExecuteNonQuery(@"CREATE TABLE Bug219_table2 (
                                            id integer,
                                            null1 integer,
                                            name character varying(100),
                                            null2 integer,
                                            description character varying(1000),
                                            null3 integer
                                            )
                                            WITH (
                                            OIDS=FALSE
                                            );");



                using (var connection1 = new NpgsqlConnection(ConnectionString))
                using (var connection2 = new NpgsqlConnection(ConnectionString))
                {

                    connection1.Open();
                    connection2.Open();

                    var copy1 = new NpgsqlCopyIn("COPY Bug219_table1 FROM STDIN;", connection1);
                    var copy2 = new NpgsqlCopyIn("COPY Bug219_table2 FROM STDIN;", connection2);

                    copy1.Start();
                    copy2.Start();

                    NpgsqlCopySerializer cs1 = new NpgsqlCopySerializer(connection1);
                    //NpgsqlCopySerializer cs2 = new NpgsqlCopySerializer(connection2);

                    for (int index = 0; index < 10; index++)
                    {
                        cs1.AddInt32(index);
                        cs1.AddString(string.Format("Index {0} ", index));
                        cs1.EndRow();

                        /*cs2.AddInt32(index);
                        cs2.AddNull();
                        cs2.AddString(string.Format("Index {0} ", index));
                        cs2.AddNull();
                        cs2.AddString("jjjjj");
                        cs2.AddNull();
                        cs2.EndRow();*/

                    }
                    cs1.Close(); //Exception
                    //cs2.Close();

                    copy1.End();
                    copy2.End();

                }
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                ExecuteNonQuery(@"DROP TABLE IF EXISTS Bug219_table1");
                ExecuteNonQuery(@"DROP TABLE IF EXISTS Bug219_table2");
            }
        }
All Usage Examples Of Npgsql.NpgsqlCopySerializer::Close