Большой Воронежский Форум
» Программирование>*.csv и ADO.NET
Dimitriy333 17:17 19.07.2008
Кто знает ответьте: можно ли в .NET работать с *.CSV - файлами как с БД (например через OLEDB)? Если да - подскажите, пожалуйста, вид connection string.
Заранее спасибо. [Ответ]
dn2k4 09:31 20.07.2008
Не поверишь, есть: http://connectionstrings.com/ =)

твой случай будет вот так:

OLE DB

Delimited columns
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\txtFilesFolder\;Extended Properties="text;HDR=Yes;FMT=Delimited";
The delimiter can be specified in the registry at the following location:
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Jet \ 4.0 \ Engines \ Text "Format" = "TabDelimited"
or
"Format" = "Delimited( ; )"

Fixed length columns
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\txtFilesFolder\;Extended Properties="text;HDR=Yes;FMT=Fixed";
"HDR=Yes;" indicates that the first row contains columnnames, not data. "HDR=No;" indicates the opposite. To specify each columns length use the Schema.ini file. See description below.
Important note!
The quota " in the string needs to be escaped using your language specific escape syntax.
c#, c++ \"
VB6, VBScript ""
xml (web.config etc) "
or maybe use a single quota '.

Schema.ini
[customers.txt]
Format=TabDelimited
ColNameHeader=True
MaxScanRows=0
CharacterSet=ANSI
[orders.txt]
Format=Delimited( ; )
ColNameHeader=True
MaxScanRows=0
CharacterSet=ANSI
[invoices.txt]
Format=FixedLength
ColNameHeader=False
Col1=FieldName1 Integer Width 15
Col2=FieldName2 Date Width 15
Col3=FieldName3 Char Width 40
Col4=FieldName4 Float Width 20
CharacterSet=ANSI
[Ответ]
Dimitriy333 21:56 20.07.2008
Чего то отказывается коннектиться. Пишет "Невозможно найти устанавливаемый ISAM". [Ответ]
dn2k4 22:07 20.07.2008

Сообщение от Dimitriy333:
Чего то отказывается коннектиться.

Ишь ты, че удумал - в воскресенье вечером телепатию прокачивать...

Код показывай =)
И рассказывай, че собсна хошь... [Ответ]
Dimitriy333 23:14 20.07.2008
string ConStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\\csv\\;Extended Properties=text;HDR=No;FMT=Delimited";
OleDbConnection ConnectionOle = new OleDbConnection(ConStr);
ConnectionOle.Open();//Вот тут и выскакивает эксепшн

А хочу я для данные из CSV считать. Для начала. [Ответ]
Zemezis 15:12 21.07.2008
Dimitriy333,
string ConStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\\csv\\;Extended Properties=\"text;HDR=No;FMT=Delimited\""; [Ответ]
Dimitriy333 16:23 23.07.2008
Спасибо, помогло [Ответ]
Вверх