2011-09-21 8 views
5

私は古いasp.net 1プロジェクトを持っています(古いサーバではうまく動作し、mytableはdbにあります。私は4SQL SERVER ODBCエラー(無効なオブジェクト名)ですが、SQLクエリmydb.dbo.mytableを追加するとすべて正常に動作します

私の接続文字列をASP.NETにアップグレードしようとしていることである:

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

私が取得エラー

ERROR [42S02] [Microsoft]の[ODBC SQL Serverドライバー] [ SQL サーバー]無効なオブジェクト名 'mytable'。

OdbcCommand dataCommand = new OdbcCommand( "select * from mytable"、 dataConnection);
dataCommand.CommandTimeout = 900;
OdbcDataReader dataReader = dataCommand.ExecuteReader(CommandBehavior.CloseConnection);私はselect * from mydb.dbo.mytableとしてSQLを書いたとき

は、すべてが正常に動作します

私は、DBの設定(セキュリティ、スキーマ、DBO)または接続文字列に変更する必要がありますか?

+0

ちょうど常にスキーマを指定します。 'MyTable'の代わりに' dbo.MyTable'を使用してください。 'select * from dbo.mytable'を試してください。 –

答えて

11

あなたがODBCを使っているのを見て、あなたのODBC接続はデフォルトのデータベースを指定していないので、masterを使用していると思います。

次のいずれかが可能です。

  • は、「データベース= myDBname」を使用して接続文字列でデータベースを指定するか、または「InitialCatalog = myDBname」XPにここに示されているよう
  • 変更あなたのODBC接続のデフォルトのデータベース、/Server 2003 SQL Server ODBC
関連する問題