当 BUILTIN/Administrators 语言为英式英语时,SqlDataAdapter.Fill 方法抛出 SqlException

问题描述

我们的 c# 应用程序使用 sqlDataAdapter 从数据库获取数据以显示在报告中。出于某种原因,当 BUILTIN/Administrators 语言是英式英语时,sqlDataAdapter.Fill 方法会抛出低于 sqlException 的情况。当它是英语时,它工作正常。我调试了我的 C# 代码,但不知道为什么会发生这种情况。有人能帮我克服这个例外吗?

{System.Data.sqlClient.sqlException (0x80131904): Error converting data type nvarchar to datetime.
   at System.Data.sqlClient.sqlConnection.OnError(sqlException exception,Boolean breakConnection,Action`1 wrapCloseInAction)
   at System.Data.sqlClient.sqlInternalConnection.OnError(sqlException exception,Action`1 wrapCloseInAction)
   at System.Data.sqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj,Boolean callerHasConnectionLock,Boolean asyncclose)
   at System.Data.sqlClient.TdsParser.TryRun(RunBehavior runBehavior,sqlCommand cmdHandler,sqlDataReader dataStream,BulkcopySimpleResultSet bulkcopyHandler,TdsParserStateObject stateObj,Boolean& dataReady)
   at System.Data.sqlClient.sqlDataReader.TryConsumeMetaData()
   at System.Data.sqlClient.sqlDataReader.get_MetaData()
   at System.Data.sqlClient.sqlCommand.FinishExecuteReader(sqlDataReader ds,RunBehavior runBehavior,String resetoptionsstring,Boolean isInternal,Boolean forDescribeParameterEncryption,Boolean shouldCacheForAlwaysEncrypted)
   at System.Data.sqlClient.sqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior,Boolean returnStream,Boolean async,Int32 timeout,Task& task,Boolean asyncWrite,Boolean inRetry,sqlDataReader ds,Boolean describeParameterEncryptionRequest)
   at System.Data.sqlClient.sqlCommand.RunExecuteReader(CommandBehavior cmdBehavior,String method,taskcompletionsource`1 completion,Boolean& usedCache,Boolean inRetry)
   at System.Data.sqlClient.sqlCommand.RunExecuteReader(CommandBehavior cmdBehavior,String method)
   at System.Data.sqlClient.sqlCommand.ExecuteReader(CommandBehavior behavior,String method)
   at System.Data.sqlClient.sqlCommand.ExecuteDbDataReader(CommandBehavior behavior)
   at System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior)
   at System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset,DataTable[] datatables,Int32 startRecord,Int32 maxRecords,String srcTable,IDbCommand command,CommandBehavior behavior)
   at System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables,CommandBehavior behavior)
   at System.Data.Common.DbDataAdapter.Fill(DataTable dataTable)
   at ReportViewer.ReportViewer.CreateReportDataSource(ReportRequest reportRequest,String selectString,ReportParameterInfoCollection parameters,DataSet dataSet,sqlConnection connection) in C:\ISSCode\branches\Samra2Freeze\Controls\ReportViewer\ReportViewer.cs:line 367
ClientConnectionId:fc8c8835-3d91-423e-b467-64c6adf6fecc
Error Number:8114,State:5,Class:16}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...