2015-03-23 3 views
1

Я экспортирую datatable в файл dbf. Если у меня есть имя большого столбца, файл dbf может экспортироваться до первых 10 символов.Как установить максимальную длину имени столбца при экспорте в файл dbf

Почему это так?

using (var dBaseConnection = new OleDbConnection(
    @"Provider=Microsoft.Jet.OLEDB.4.0; " + 
    @" Data Source=C:\Users\RobertWray\Documents\dBase; " + 
    @"Extended Properties=dBase IV")) 
{ 
    dBaseConnection.Open(); 

    string createTableSyntax = 
     "Create Table Person " + 
     "(Name char(50), CustomerReference char(50), Phone char(20))"; 
    var cmd = new OleDbCommand(createTableSyntax, dBaseConnection); 
    cmd.ExecuteNonQuery(); 
} 

Есть ли какой-либо параметр, который я могу сделать, чтобы экспортировать больше длины в имена столбцов.?

ответ

1

No.

DBF файлы имеют ограничение на длину столбца, а предел 10. Если вы отфильтровываете весь доступ к файлам, вы можете сделать сопоставление на другом уровне (делая фактические имена столбцов в DBF только сокращенными идентификаторами); если вы просто пишете «SQL» напрямую, вам не повезло.

Почему предел существует? DBF старый. Почему вы используете DBF для чего-нибудь сегодня? Может быть, есть лучшая встроенная база данных для вашего использования?

+0

Благодарим за информацию. Как только сомнение есть ли ограничение на длину данных, которые я могу экспортировать в dbf с типом = varchar? – vishal

+0

@ user1336662 Да, предел составляет 254 (ASCII/кодировка) символов. Если вам нужно больше, вам нужно использовать 'memo', что намного сложнее. – Luaan