Я не знаю, почему ваш код не работает, но рекомендую вам использовать макросы в том же файле .cpp / .h, чтобы проверить текущую платформу, потому что у вас может быть общая функциональность для эти платформы.
Например:
#ifdef Q_OS_WIN32 // or Q_OS_WIN64. the code/function for Windows
void fun()
{
commonFunction();
}
#endif
#ifdef Q_OS_LINUX // or Q_OS_UNIX ...
void fun()
{
commonFunction();
}
#endif
void commonFunction()
{
//...
}
или
void fun()
{
#ifdef Q_OS_WIN64
// code for windows
#endif
#ifdef Q_OS_LINUX
// code for linux
#endif
// a common code...
}
Кажется, что они решили эту проблему для Пакета обновления 1 из.NET 3.5, как отмечено в этой ссылке: http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=353232
Мог бы хотеть проверить его самостоятельно.
Принятие Вас обрабатывает большой пакет записей, и Вы не хотите к (не может) проверять данные перед рукой, и Вы просто хотите, чтобы ограничения дб зафиксировали какие-либо ошибки?
Измените свою программу, чтобы поймать исключение и распечатать текущие рекордные детали к файлу журнала или чему-то.
Record # 9999
Caused "string or binary data would be truncated" error
Field1: "Data" Length: 55
Field2: 9999
etc.
Запустите профилировщик SQL. Последний запрос из вашего приложения должен быть ошибочным.
Вероятно, было бы полезно повторно разместить/отредактировать это с пометкой linq .net
DJ - откуда вы получаете эти данные, которые вы публикуете в качестве предлагаемого решения?
Исключение не содержит этой информации, поэтому ваш пост практически бесполезен - если вы не можете указать источник.