web-dev-qa-db-ja.com

SQL SERVER ODBC ERROR(Invalid object name)しかし、SQLクエリを追加するとmydb.dbo.mytableはすべて正常に機能します

私は古いasp.net1プロジェクトを持っています(古いサーバーでは正常に動作し、mytableはdbに存在します。今はasp.net4にアップグレードしようとしています

私の接続文字列は次のとおりです。

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

エラーが発生します

エラー[42S02] [Microsoft] [ODBC SQLServerドライバー] [SQLServer]無効なオブジェクト名 'mytable'。

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

SQLをselect * from mydb.dbo.mytableとして記述した場合、すべて正常に機能します

Db設定(セキュリティ、スキーマ、dbo)または接続文字列で何を変更する必要がありますか?

8
John

ODBCを使用していることを確認すると、ODBC接続ではデフォルトのデータベースが指定されていないため、マスターを使用していると思います。

次のいずれかを実行できます。

  • 「Database = myDBname」または「InitialCatalog = myDBname」を使用して、接続文字列でデータベースを指定します
  • xP/Server 2003でここに示すように、ODBC接続のデフォルトデータベースを変更します SQL Server ODBC
21
John N