У меня есть сценарий, в котором мне нужно экспортировать данные около 500 000 записей из таблицы SQL для использования в приложении Delphi.Данные должны быть загружены в упакованную запись.Есть ли способ, с помощью которого я могу использовать BCP для записи файла данных, аналогичного записи файлов в файл.
На данный момент я загружаю данные, используя этот псевдокод.
// Assign the data file generated from BCP to the TextFile object.
AssignFile(losDataFile, loslFileName);
Reset(losDataFile);
while not EOD(losDataFile) do
begin
// Read from the data file until we encounter the End of File
ReadLn(losDataFile, loslDataString);
// Use the string list comma text to strip the fields
loclTempSlist.CommaText := loslDataString;
// Load the record from the items of the string list.
DummyRec.Name := loclTempSList[0];
DummyRec.Mapped = loclTempSList[1] = 'Y';
end;
Для удобства я перечислил тип Dummy rec ниже
TDummyRec = packed record
Name : string[255];
Mapped : Boolean;
end;
Итак, мой вопрос, вместо того, чтобы экспортировать данные в текстовый файл, можно ли будет экспортировать данные в двоичный файл, чтобычто я могу читать из файла напрямую, используя тип записи?
как
loclFileStream := TFileStream.Create('xxxxxx.dat', fmOpenRead or fmShareDenyNone);
while loclFileStream.Position < loclFileStream.Size do
begin
// Read from the binary file
loclFileStream.Read(losDummyData, SizeOf(TDummyRec));
//- -------- Do wat ever i want.
end;
У меня нет большого опыта использования BCP.Пожалуйста, помогите мне с этим.
Спасибо Терминатор ...