台灣最大程式設計社群網站
線上人數
933
 
會員總數:244983
討論主題:188953
歡迎您免費加入會員
討論區列表 >> Blog精華文章 >> bcp Error 「SQLSTATE = 37000, native error 156 Incorrect syntax near the keyword 'Key'」
[]  
[我要回覆]
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
bcp Error 「SQLSTATE = 37000, native error 156 Incorrect syntax near the keyword 'Key'」
價值 : 0 QP  點閱數:674 回應數:0

樓主

羽杉若芹
門外漢
0 9
367 6
發送站內信

使用 bcp 語法在匯入table 資料時,
遇到一個狀況是
在SQL Server2005 2008 匯入都沒問題,但SQL Server2000及2005pre-release版都不能匯,
出現的錯誤訊息是 「SQLSTATE = 37000, native error 156 Incorrect syntax near the keyword 'Key'」
因為table中,使用保留字'KEY'作為欄位名稱, 造成執行時會出錯(/‵?′)/~ 薋
(2005跟2008因為比較新比較聰明,所以可以正常執行)。

解:bcp語法後加上 -q 參數就可以匯了

-q
在 bcp 公用程式與 SQL Server 執行個體之間的連接中,
執行 SET QUOTED_IDENTIFIERS ON 陳述式。
(讓 SQL Server 遵照有關分隔識別碼和常值字串之引號的 ISO 規則。 用雙引號定界的識
別碼可以是 Transact-SQL 保留關鍵字,也可以包含 Transact-SQL 的識別碼語
法規則通常不接受的字元。)
請利用這個選項來指定包含空格或單引號的資料庫、擁有者、資料表或檢視表名稱。
請用引號 ("") 括住整個三部分資料表或檢視表名稱。

bcp公用程式參考

本篇文章發表於2012-09-06 11:34
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
目前尚無任何回覆
   

回覆
如要回應,請先登入.