Показывает "не удалось получить информацию о схеме для таблицы или представления" при извлечении данных из таблицы
Я могу успешно войти в систему и просматривать, редактировать данные и таблицы из SQL Management Studio с локального компьютера. Но при попытке сделать то же самое из любого другого приложения, например Visual Studio, я могу установить успешное соединение.. но не может извлечь данные из таблицы.
В visual studio это показывает
<OMSDB.dbo.Users> Could not retrieve schema information for table or view OMSDB.dbo.Users.
Что я уже пробовал:
Раньше я мог получить доступ к той же базе данных без каких-либо проблем. Когда я сменил ОС, я установил SQL-сервер и подключил базу данных... после этого возникает только эта ошибка.
RickZeeland
Какой источник данных вы добавили? SQL Server, SQL Server CE или LocalDB ?
Можете ли вы показать нам код, который вы используете для подключения и открытия таблицы ?
Может быть, вы слишком рано закрываете соединение ?
Devil7DK
Конечно...
Вот он...
Функция LoadUsers (ByVal ConnectionString As String) Как Система.ComponentModel.BindingList (Пользователя)
Dim r как новая система.ComponentModel.BindingList (Пользователя)
Dim conn как новый SqlConnection(ConnectionString)
Коннектикут.Открыть()
Dim comm As New SqlCommand ("SELECT * FROM Users", conn)
Dim reader As SqlDataReader = comm.Метода executereader
Dim i как целое число = -1
В то время как читатель.Читать()
Дим РН как изображение = мой.Ресурсы.User_Default
Попробуй
PH = изображение.FromStream(новый IO.MemoryStream (CType (reader.Элемент ("Фото"), Байт())))
Поймать ex как исключение
Конец Попытки
Дим Credentials_ как строка = читатель.Пункт ("Полномочия").Метод toString
Тусклый cls как система.ComponentModel.BindingList (Of Credential) = Ничего
Если Credentials_ < & gt; "" То
cls = XMLParsers.Полномочия.FromXML(Учетные Данные_)
Конец, Если
Дим Permissions_ как строка = читатель.Пункт ("Разрешения").Метод toString
Dim Per As New List (Of String)
Если Permissions_ < & gt; "" То
Per = XMLParsers.ListOfString.FromXML (Разрешения_)
Конец, Если
r. Добавить (новый пользователь (читатель.идентификаторы элементов").Вы думаете, читатель.Пункт ("Имя Пользователя").Вы думаете, читатель.Пункт ("Пароль").Вы думаете, читатель.Пункт ("Рабочий Стол").Вы думаете, читатель.Пункт ("Дом").Вы думаете, читатель.Пункт("Пользовательского").Вы думаете, читатель.Пункт("Адрес").Вы думаете, читатель.Пункт ("Мобильный").Вы думаете, читатель.Пункт ("Электронная Почта").Метод ToString, ТВ.Метод toArray, читатель.Пункт ("Статус").ToString, PH, cls))
Конец Пока
Коннектикут.Закрывать()
Возвращение Р
Конечная Функция
и соединительная строка...
"Сервера= / отчеты по HP\; базы данных=OMSDB;идентификатор пользователя=СА;пароль=QW741erty;применение название=Управление системой управления;объединение=истина;"
RickZeeland
А что будет, если не закрыть связь с конном?Close () или закрыть его позже при выходе из программы ?
Devil7DK
"While reader. Read () "в этой строке я всегда получаю"false". даже есть данные в таблице (можно просмотреть с помощью SSMS), и эта строка находится перед "conn. close()"
если в моем коде есть проблема... почему та же ошибка возникает с Visual Studio....?
Devil7DK
@RickZeeland я не думаю, что проблема заключается в коде, так как этот же код работал с той же базой данных раньше...
RickZeeland
Это может быть проблема области действия, попробуйте переместить свой Bindinglist из функции на уровень класса.
Atlapure Ambrish
Вы пробовали это... говорит MSDN...
https://msdn.microsoft.com/en-us/library/bb629303.aspx
Devil7DK
@Амбриш Atlapure
MSDN говорит: "Нажмите кнопку ОК, чтобы закрыть диалоговое окно"...
:-(