2011-09-21 55 views
5

我有一箇舊的asp.net 1項目(它在舊服務器上工作正常,mytable存在於db。我想將它升級到ASP.NET 4SQL SERVER ODBC錯誤(無效的對象名稱),但當我添加SQL查詢mydb.dbo.mytable所有工作正常

我的連接字符串是:

<add key="SqlConnection" 
    value="DRIVER={SQL Server};SERVER=bel\SQLEXPRESS;Trusted_connection=yes;DAT­ABASE=mydb;option=3;"/> 

我得到錯誤

錯誤[42S02] [微軟] [ODBC SQL Server驅動程序] [ SQL 服務器]無效的對象名稱'mytable'

OdbcCommand dataCommand = new OdbcCommand(「select * from mytable」, dataConnection);
dataCommand.CommandTimeout = 900;
OdbcDataReader dataReader = dataCommand.ExecuteReader(CommandBehavior.CloseConnection);

當我寫SQL作爲select * from mydb.dbo.mytable一切工作正常

我應該在數據庫設置(安全模式,DBO),或在連接字符串改變?

+0

只是總是指定模式 - 例如使用'dbo.MyTable'而不是'MyTable' - 所以請嘗試'select * from dbo.mytable' - 是否有效? –

回答

11

我的猜測,看到你正在使用ODBC,是因爲你的ODBC連接沒有指定一個默認的數據庫,所以它使用master。

您可以:

  • 使用「數據庫= myDBname」在連接字符串中指定數據庫或「InitialCatalog = myDBname」
  • 改變您的ODBC連接的默認數據庫,如下圖所示,在XP/Server 2003 SQL Server ODBC
相關問題