2014-12-01 3 views
0

У меня есть .ini-файл, который содержит ConnectionString в следующем формате;Прочитать connectionstring из .ini-файла

[system] 
DatabaseDriver=ODBC;DSN=MyDb;database=MyDb; 
OLEDB=Provider=SQLOLEDB.1;Initial Catalog=MyDb;Data Source=PTCIMG_75x_DS; 
DatabaseVersion=7.6.5 
EEOApplied=Y 

И теперь мне нужно прочитать его из консольного приложения, как показано ниже;

var parser = new IniParser.FileIniDataParser(); 
    StringBuilder dbConnInt= new StringBuilder(); 
    string ComDBstring; 

    dbConnInt = new StringBuilder(); 
    dbConnInt.Append("C:\\Program Files\\Database.ini"); 
    IniData dbConn = parser.LoadFile(dbConnInt.ToString()); 

    ComDBstring = dbConn["system"]["OLEDB"]; 

Однако, все, что я получаю, является первой частью ConnectionString, то есть Provider=SQLOLEDB.1. Но мне нужна целая линия, Provider=SQLOLEDB.1;Initial Catalog=MyDb;Data Source=PTCIMG_75x_DS;. Почему он делится на ; и возвращает только первую часть?

Любая идея от кого-нибудь?

Большое спасибо в ожидании.

ответ

2

Потому что согласно документации, ; and onward is interpreted as a comment.

Вы можете изменить комментарий разделитель #, например:

// Change character used as comment delimiter (defaults to ';') 
parser.CommentDelimiter = '#'; 
+0

Это работает отлично, большое спасибо. –

Смежные вопросы