2013-03-14 75 views
1

我試圖通過BCP-IN通過執行批處理file.But面對反應這個問題BCP錯誤= [微軟] [SQL Server本機客戶端10.0]無效日期格式

Starting copy... 
SQLState = 22008, NativeError = 0 
Error = [Microsoft][SQL Server Native Client 10.0]Invalid date format 
SQLState = 22008, NativeError = 0 
Error = [Microsoft][SQL Server Native Client 10.0]Invalid date format 
SQLState = 22008, NativeError = 0 
Error = [Microsoft][SQL Server Native Client 10.0]Invalid date format 
SQLState = 22005, NativeError = 0 
插入表中的一些值

thorugh其中得到插入的數據的文件是像這 -

Marcus, Tom 371332 11-1-09 0:00 720.04 25.2 108.01 0 43.2  

並且其中數據插入得到具有coloumn-表

EFFECT_DATE2] [datetime2](3) NULL, 

任何建議如何避免此錯誤?

+0

你使用格式文件嗎? – rene 2013-03-14 09:11:17

+0

是的,我正在使用格式文件.. – Praveenks 2013-03-14 09:36:40

+0

也許你應該添加該文件的內容(至少在日期列)到您的問題,因爲它是至關重要的信息 – rene 2013-03-14 10:05:29

回答

0

您可能希望檢查目標數據庫的默認語言設置,因爲它用於解釋日期,即DATEFORMAT。

解決方案將數據文件中的日期格式化爲ISO標準格式(YYYYMMDD)。

替代方法將重新格式化日期以匹配目標數據庫的DATEFORMAT,或通過更改數據庫的默認語言設置更改DATEFORMAT。

https://support.microsoft.com/en-us/kb/173907

正如KB指出,改變了控制面板中的服務器的區域設置不會改變,服務器如何使用SQL解釋日期。

+0

另一種選擇是,如果目標機器區域設置與日期格式相匹配,您可以在命令行中指定-R開關,以告訴bcp工具使用區域格式來解析出日期。 – 2015-06-08 20:06:32

0

嘗試在格式文件中使用SQLCHAR而不是SQLDATETIME。將datetime字段中的數據設置爲本地格式,並使用-R鍵進行bcp.exe運行。

相關問題