2014-09-16 3 views
0

Я этот код работает на компьютере разработчика отлично:ошибка MySqlDataAdapter: Тип значения имеет несоответствие с колонного типа

MySqlCommand cmd = new MySqlCommand("select * from orders where id=1", conn); 
    System.Data.DataTable dt = new System.Data.DataTable(); 
    MySqlDataAdapter da = new MySqlDataAdapter(cmd); 
    da.Fill(dt); 

Но когда я запускаю тот же код с той же базой данных на сервере prodcution он выдает эту ошибку :

[ArgumentException: Type of value has a mismatch with column type] 
    System.Data.Common.ObjectStorage.Set(Int32 recordNo, Object value) +2256750 
    System.Data.DataColumn.set_Item(Int32 record, Object value) +60 

[ArgumentException: Type of value has a mismatch with column typeCouldn't store <1.1.0001 00:00:00> in myTimeColumn Column. Expected type is MySqlDateTime.] 
    System.Data.DataColumn.set_Item(Int32 record, Object value) +6632812 
    System.Data.DataTable.NewRecordFromArray(Object[] value) +6638777 
    System.Data.DataTable.LoadDataRow(Object[] values, Boolean fAcceptChanges) +111 
    System.Data.ProviderBase.SchemaMapping.LoadDataRow() +148 
    System.Data.Common.DataAdapter.FillLoadDataRow(SchemaMapping mapping) +141 
    System.Data.Common.DataAdapter.FillFromReader(DataSet dataset, DataTable datatable, String srcTable, DataReaderContainer dataReader, Int32 startRecord, Int32 maxRecords, DataColumn parentChapterColumn, Object parentChapterValue) +292 
    System.Data.Common.DataAdapter.Fill(DataTable[] dataTables, IDataReader dataReader, Int32 startRecord, Int32 maxRecords) +657 
    System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +368 
    System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior) +487 
    System.Data.Common.DbDataAdapter.Fill(DataTable dataTable) +293 

Примечание: myTimeColumn является datetime в таблице.

Те же вещи разработки и производства машины:

  • MySQL версии сервера: 5.6.20
  • данных
  • .NET Framework версия: 4.5.1
  • MySQL Connector/Net 6.8. 3

Разные вещи:

  • OS Производство: Windows Server 2012 R2 (с IIS 8.5)
  • OS развития: Windows 7 64 бит (с IIS 7.5)

Да:

  • я добавил Разрешить Нулевой DATETIME = True и конвертировать Zero Datetime = True в строке подключения.

Спасибо за любую помощь,

ответ

1

удаление Allow Zero Datetime=True решить эту проблему.

1

Удаление «Преобразовать нуль Datetime = True» вместо Разрешить Zero Datetime = True работает для меня ..... попробуйте

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