Microsoft的Microsoft Text Driver将文本视为浮点操作

时间:2009-08-21 11:28:58

标签: c# .net odbc driver text-files

使用.NET

我有一个逗号分隔数据的文本文件。其中一列包含如下文本:1997/020269/07

现在,当我使用OdbcCommand进行选择时,字符串被视为浮点数并返回“回答”而不是实际文本!

如何获取实际文字?我是否会被迫手动解析文件?

希望有人可以帮忙......拜托?! :)

编辑:有些代码可能吗? :)

string strConnString =
            @"Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=" + _FilePath +
            @"; Extensions=asc,csv,tab,txt;Persist Security Info=False";

var conn = new System.Data.Odbc.OdbcConnection(strConnString);

var cmd = new System.Data.Odbc.OdbcCommand("select MyColumn from TextFile.txt", conn);
var reader = cmd.ExecuteReader();


while (reader.Read())
{ Console.WriteLine(reader["MyColumn"]); }

这将返回0.014074977而不是1997/020269/07

2 个答案:

答案 0 :(得分:2)

您是否尝试过使用schema.ini文件 - 这些文件可用于明确定义文本文件的格式,包括数据类型。

您的schema.ini文件可能看起来有点像:

[sourcefilename.txt]
ColNameHeader=true
Format=CSVDelimited
Col1=MyColumn Text Width 14
Col2=...

答案 1 :(得分:0)

尝试使用schema.ini

[yourfile.txt]
ColNameHeader=false
MaxScanRows=0
Format=FixedLength
Col1=MyColumn Text Width 20

再见。