导出到 dbf 文件时如何设置列名的最大长度

How to set maxlength of column name while export to dbf file

我正在将数据表导出到 dbf 文件。 如果我有大列名,dbf 文件可以导出到前 10 个字符。

为什么会这样?

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();
}

是否有任何设置可以导出更多长度的列名?

没有

DBF 文件对列长度有限制,该限制为 10。如果抽象出对文件的所有访问权限,则可以在不同的层中进行映射(使 DBF 中的实际列名只是缩短的 ID);如果你直接写"SQL",那你就倒霉了。

为什么会有限制? DBF 。你今天为什么要使用 DBF?也许有更好的嵌入式数据库适合您的用例?