2013-02-28 28 views
0

我有一個MS SQL Server數據庫,其中包含空格的表和列名稱。我如何繞過這個模型。在模型類中如果它有一個空格,我將如何放置列名稱?以下是我的dbtableZend創建具有間距的列名稱的模型

class Application_Model_DbTable_PurchInvHeader extends Zend_Db_Table_Abstract 
{ 

    protected $_name = 'Spectrum Geo Limited$Purch_ Inv_ Header'; 


} 

該表格被稱爲Spectrum Geo Limited$Purch_ Inv_ Header。在這張桌子裏有很多有空格的字段。我現在只需要獲取所有記錄。

在SQL Server Management Studio中運行以下查詢工作

SELECT * from [Navision].[dbo].[Spectrum Geo Limited$Purch_ Inv_ Header] 
+1

'我有一個MS SQL Server數據庫,它具有包含空格的表和列名稱,如果(並且只是)你繼承了這個混亂,那麼我的心就會出現在你的面前。 – 2013-02-28 15:20:56

+0

這是MS Dynamics Navision軟件,完全混亂。我無法重命名錶格。 – shorif2000 2013-02-28 15:29:56

+0

你有沒有解決這個問題? – 2013-03-13 14:09:55

回答

1

您可以嘗試用 「`」 enquoting你的領域/列名。它通常應該幫助區分特殊字詞和字詞組合的字段名稱。

+0

在sql server中使用例子 – shorif2000 2013-02-28 15:00:24

+0

更新的問題'['和']'用於轉義名稱而不是'''',如編輯問題 – 2013-02-28 15:55:32

0

也許你可以用沒有空格的更好的名字來製作一些視圖?

如果無法直接在MS Dynamics Navision數據庫中創建它們,請在同一臺服務器上創建一個新的數據庫。然後將該新數據庫鏈接到MS Dynamics Navision數據庫。然後(在您的新數據庫中)創建您的基於zend的應用程序所需的所有視圖,函數和存儲過程等。

此外,視圖將幫助您的應用程序在MS動態Navision進行架構更改的情況下。

+0

所示我將如何將數據輸入到這些表中呢? – shorif2000 2013-03-01 08:41:13

+0

如果您創建「新數據庫」並將其鏈接到MS Dynamics Navision數據庫,您可以從新數據庫中查詢,如:SELECT * FROM database.owner.table。您可以在新的數據庫中創建直接引用MS Dynamics Navision數據庫的視圖。當你創建視圖時,只需修改列名稱,如:'SELECT [bad name here] AS BadNameHere,[silly spaces] AS Naly]。[dbo]。[Spectrum Geo Limited $ Purch_ Inv_ Header] AS SillySpaces。您編寫的任何代碼現在都可以使用視圖和沒有空格的新列名稱。 – 2013-03-01 13:50:48

相關問題