C# 错误:设备上的媒体系列格式不正确

C# 错误:设备上的媒体系列格式不正确,c#,sql-server,C#,Sql Server,朋友们好,我正在下载数据库备份。但是发生了错误 The media family on device 'D:\sql backup\SQL2008R2_797817_headstart_backup_.bak' is incorrectly formed. SQL Server cannot process this media family. RESTORE HEADERONLY is terminating abnormally. (Microsoft SQL Server, Error:

朋友们好,我正在下载数据库备份。但是发生了错误

The media family on device 'D:\sql backup\SQL2008R2_797817_headstart_backup_.bak' is incorrectly formed. SQL Server cannot process this media family.
RESTORE HEADERONLY is terminating abnormally. (Microsoft SQL Server, Error: 3241)
我下载备份的c#代码如下所示:

Dim s As String = System.DateTime.Now.ToString("MM-dd-yyyy hh-mm tt")
Using wc As New System.Net.WebClient
If iPointer = 0 Then
wc.Credentials = New System.Net.NetworkCredential("UserName", "Password")
Dim SqlServer As String
SqlServer = wc.DownloadString("ftp")
My.Computer.FileSystem.WriteAllText("c:/BluePearlsData" & "\SQL2008R2_797817_headstart_backup_" & s & ".bak", SqlServer, False)
请帮帮我!提前谢谢

SqlServer = wc.DownloadString("ftp://ftp.bluepearlreports.com/_database/SQL2008R2_797817_headstart_backup.bak")
My.Computer.FileSystem.WriteAllText("c:/BluePearlsData" & "\SQL2008R2_797817_headstart_backup_" & s & ".bak", SqlServer, False)
您需要将这些更改为

`wc.DownloadData`

分别


不过你最好把它流出来,因为这会将整个数据库备份加载到内存中。

您至少应该将其视为二进制文件而不是文本。@MartinSmith您的意思是说我应该使用WriteAllBytes函数来代替WriteAllText吗?您可能想从问题中删除实际的FTP站点…System.Net.WebClient不提供任何downloadBytes函数
`WriteAllBytes`