public static void ReadTransportFile( [SqlFacet(MaxSize = 255, IsNullable = false)] SqlString fullFileName, [SqlFacet(MaxSize = 255, IsNullable = false)] SqlString serverName, [SqlFacet(MaxSize = 255, IsNullable = false)] SqlString databaseName, [SqlFacet(MaxSize = 255, IsNullable = false)] SqlString tableName, [SqlFacet(MaxSize = 255, IsNullable = false)] SqlString userName, [SqlFacet(MaxSize = 255, IsNullable = false)] SqlString password) { if (fullFileName.IsNull) { throw new ArgumentNullException("fullFileName"); } if (tableName.IsNull) { throw new ArgumentNullException("serverName"); } if (tableName.IsNull) { throw new ArgumentNullException("databaseName"); } if (tableName.IsNull) { throw new ArgumentNullException("tableName"); } if (userName.IsNull) { throw new ArgumentNullException("userName"); } if (password.IsNull) { throw new ArgumentNullException("password"); } using (var input = new FileStream(fullFileName.Value, FileMode.Open, FileAccess.Read, FileShare.Read)) { var reader = new OfflineDataPackReader(); DataPack dataPack = reader.Read(input, "RRTFv6"); var dataPart = dataPack.DataParts[0]; var connectionString = string.Format(@"Server={0};Database={1};User Id={2};Password={3};", serverName, databaseName, userName, password); using (var partStream = dataPart.GetStream()) using (var dataReader = DataSerializer.Deserialize(partStream)) using (var connection = new SqlConnection(connectionString)) { connection.Open(); using (var bulkCopy = new SqlBulkCopy(connection, SqlBulkCopyOptions.Default, null)) { bulkCopy.DestinationTableName = tableName.Value; bulkCopy.BatchSize = 500; bulkCopy.WriteToServer(dataReader); } } } }
public void Read_SerializeAndDeserializeDataPack1_GetsExpectedDataPack() { var target = new OfflineDataPackReader(); var writer = new OfflineDataPackWriter(); DataPack expected = TestHelper.Defaults.DataPack1(); DataPack actual; using (var stream = new MemoryStream()) { writer.Write(expected, stream); stream.Position = 0; actual = target.Read(stream, expected.GetPrefix()); } TestHelper.Assertion.AreEqual(expected, actual); }
public void Read_DefaultDataStream_GetsExpectedDataPack() { var target = new OfflineDataPackReader(); DataPack actual; using (var stream = TestHelper.Defaults.Stream1()) { stream.Position = 0; actual = target.Read(stream, (string)null); } Assert.AreEqual(actual.PrefixSize, (byte)0); Assert.IsNull(actual.DateCreate, "DateCreate is not null"); Assert.IsNull(actual.Description, "Description is not null"); Assert.AreEqual(actual.Headers.Count, 0); Assert.AreEqual(actual.Properties.Count, 0); Assert.AreEqual(actual.DataParts.Count, 0); }