我正在将datatable导出到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();
}
是否有任何设置可以在列名中导出更多长度。?
答案 0 :(得分:1)
没有
DBF文件对列长度有限制,该限制为10
。如果您抽象出对文件的所有访问权限,则可以在不同的层中进行映射(使DBF中的实际列名称缩短ID);如果你只是直接写“SQL”,那你就不走运了。
为什么有限制? DBF 旧。你今天为什么要使用DBF?也许你的用例有一个更好的嵌入式数据库?