в старом программном обеспечении мы используем SQLXMLBULKLOADLib для импорта xml файлов, подобных этому:
var objBL = new SQLXMLBulkLoad4Class
{
ConnectionString = string.Format("Provider=sqloledb;Server={0};Database={1};uid={2};pwd={3}",
Server,
FromDatabaseName,
UserName,
Password),
ErrorLogFile = errorFile,
KeepIdentity = false
};
objBL.Execute(xsdFile, fileName);
однако этот тип взаимодействия вызывает у меня много проблем, и я хочу заменить этот метод. Я попробовал что-то вроде этого
var ds = new DataSet();
ds.ReadXmlSchema(xsdFile);
ds.ReadXml(fileName);
using (var bulkCopy = new SqlBulkCopy($"Data Source={Server};Initial Catalog={FromDatabaseName};User ID={UserName};Password={Password};"))
{
foreach (DataTable dt in ds.Tables)
{
bulkCopy.DestinationTableName = dt.TableName;
bulkCopy.WriteToServer(dt);
}
}
, которое почти нормально работает, но в моем файле xsd не применяется отношение Relationship. приводит ко всем видам различных ошибок. Можно ли по-прежнему применять эти отношения, не используя этот модуль взаимодействия?
Заранее спасибо