SQL SERVER ODBC ERROR (Неверное имя объекта), но когда я добавляю в SQL-запрос mydb.dbo.mytable, все работает нормально - PullRequest
5 голосов
/ 21 сентября 2011

У меня есть старый проект asp.net 1 (он отлично работает на старом сервере, mytable существует в db. Теперь я пытаюсь обновить его до asp.net 4

Моя строка подключения:

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

Я получаю ошибку

ОШИБКА [42S02] [Microsoft] [Драйвер ODBC SQL Server] [SQL Server] Недопустимое имя объекта «mytable».

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

написал SQL как select * from mydb.dbo.mytable все отлично работает

Что я должен изменить в настройках БД (безопасность, схема, DBO) или в строке подключения?

1 Ответ

18 голосов
/ 21 сентября 2011

Полагаю, что при использовании ODBC ваше соединение ODBC не задает базу данных по умолчанию и поэтому использует master.

Вы можете либо:

  • укажите базу данных в строке подключения, используя «Database = myDBname» или «InitialCatalog = myDBname»
  • изменить базу данных по умолчанию в вашем соединении ODBC, как показано здесь в XP / Server 2003 SQL Server ODBC
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...