2014-10-28 82 views
0

我有MSSQL數據庫服務,包含表t1執行SELECT使用SQLExecDirect

試圖執行SELECT語句創建數據庫ggg

RetCode = SQLExecDirect(hStmt,wszInput, SQL_NTS); 

wszInput內容select * from ggg.t1

輸出有錯誤:

[42S02] [Microsoft][SQL Server Native Client 11.0][SQL Server]Invalid object name 'ggg.t1'. (208) 
SQL COMMAND>select * from DB.ggg.t1 

問題在哪裏?

回答

2

對於這個特定的語法,你需要分開數據庫,模式,然後表。您的代碼應爲(假定T1是在dbo默認模式)

SELECT * FROM ggg.dbo.t1

如果鍵入y,SQL假設你正在談論在默認表或視圖(通常是DBO)的模式當前連接的數據庫。

如果您鍵入x.y,SQL假定您正在討論當前連接的數據庫的x模式中的y表。

如果鍵入x.dbo.y,SQL會看在dbo架構x數據庫名爲y表。