Your error is caused by the fact that the fraction-of-a-second part of your date string has more than seven places. If you reduce the number of letters after the seconds to seven, it will work, as you can see here:
using System.Globalization;
private void testConversion()
{
string date = "2014-11-26 15:46:56.1070000";
string inFormat = "yyyy-MM-dd HH:mm:ss.FFFFFFF";
string outFormat = "dd/MM/yyyy HH:mm:ss.FFFFFFF";
DateTime result;
result = DateTime.ParseExact(date, inFormat, CultureInfo.InvariantCulture);
string reformat = (result.ToString(outFormat));
}
So, you can create some strategy to make sure the fractional-second part of your string is a maximum of seven characters long; something like this:
string date = "2014-11-26 15:46:56.107123456789";
string secFrac = date.Substring(date.IndexOf('.') + 1);
if (secFrac != date)
{
if (secFrac.Length > 7)
{
date = date.Replace(secFrac, secFrac.Substring(0, 7));
}
}