我有db的名字是shreyanshdb],它有一個關閉方括號。 我想在SQL服務器中使用SQL查詢執行此數據庫的備份。 但它引發了一個異常:Transact-sql異常。SQL Server SQL查詢來轉義關閉方括號]
下面是一個命令: BACKUP DATABASE [shreyanshdb]到磁盤= 'C:\ DB'
我真的不知道我怎麼逃脫右方括號...
我有db的名字是shreyanshdb],它有一個關閉方括號。 我想在SQL服務器中使用SQL查詢執行此數據庫的備份。 但它引發了一個異常:Transact-sql異常。SQL Server SQL查詢來轉義關閉方括號]
下面是一個命令: BACKUP DATABASE [shreyanshdb]到磁盤= 'C:\ DB'
我真的不知道我怎麼逃脫右方括號...
我認爲你可以使用sp_executesql來做到這一點。將數據庫名稱作爲參數傳遞的地方。
在SQL服務器中,它實際上使用以下命令:BACKUP DATABASE「shreyanshdb」「TO DISK ='D:\ LOG_DIR'。它怎麼用雙引號....它實際上我必須執行或寫在c尖銳的SQL命令...所以我應該在db名稱追加雙引號... – shreyansh
BACKUP DATABASE [shreyanshdb]]] to disk = 'c:\DB'
你可以看到的東西應該從QUOTENAME
函數文檔被引用。對於矩形括號,關閉支架應加倍。
最好不要在SQL Server中使用數據庫名稱,表名稱,列名稱或任何其他對象名稱中的括號,空格或任何不規則的字符。
應谷歌「ms sql轉義字符」,[第一擊](https://stackoverflow.com/questions/5139770/escape-character-in-sql-server)。不知道它是否會幫助你,但至少告訴我們你做了什麼。將問題標記爲不清楚。 – Nukeface
沒有什麼幫助添加,但着迷於知道數據庫如何得到這個名稱,以及爲什麼你不能將它改變成更少的問題。 – LoztInSpace