Ошибка экземпляра экземпляра, когда строка подключения верна
У меня есть следующий код при загрузке страницы:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
con = New SqlConnection("Data Source=14GRAFICALI\\SQLEXPRESS;Initial Catalog=sagar;Integrated Security=True")
'-----------------------fill name ddl------------------------------'
Try
da = New SqlDataAdapter("select EmpName from empMaster_VB", con)
ds = New DataSet()
da.Fill(ds)
For i As Integer = 0 To ds.Tables(0).Rows.Count
ddlName.Items.Add(ds.Tables(0).Rows(i)(0).ToString())
Next
Catch ex As Exception
End Try
'--------------------------------------------------------------------'
'----------------fill expence-------------------------------------'
Try
da = New SqlDataAdapter("select ExpName from expenceType_VB", con)
ds = New DataSet()
da.Fill(ds)
For i As Integer = 0 To ds.Tables(0).Rows.Count
ddlExpence.Items.Add(ds.Tables(0).Rows(i)(0).ToString())
Next
Catch ex As Exception
End Try
'---------------------------------------------------------------'
End Sub
Этот код предназначен для заполнения раскрывающихся списков именами и значениями расхода в таблицах базы данных.
Я получаю ошибку < instance failure
'при выполнении кода.
Я проверил один из ответов в стеке и проверил строку подключения. Но моя строка подключения также верна.
Пожалуйста, помогите мне, если в этом коде отсутствует что-то еще.
Ответы
Ответ 1
Как только вы получили ошибку "сбой экземпляра", это может быть ошибка с вашим экземпляром SQL Server.
Убедитесь, что ваш экземпляр SQL Server (MSSQLSERVER) запущен, где вы можете проверить: список служб. Чтобы войти в список служб: откройте диалоговое окно запуска и введите: "services.msc" (без кавычек) и нажмите Enter. Это приведет вас к консоли управления службами, где вы можете проверить, запущен ли ваш экземпляр или нет.
Если проблема по-прежнему сохраняется, попробуйте использовать: Источник данных =.\SQLEXPRESS вместо.:)
Счастливое кодирование...:)
Ответ 2
У меня есть связь:
Data Source=MyComputerName\SQL2012ENTERPRS;Initial Catalog=RESTFUL; User Id=myuser; Password=mypass123;
Мой сервер: MyComputerName\SQL2012ENTERPRS
Но поскольку я использую строку, я добавляю больше \
, поэтому в моем коде это будет:
public string connectionString = "Data Source=DAFWKN409C67Q\\SQL2012ENTERPRS;Initial Catalog=RESTFUL; User Id=rest_user; Password=rest_pwd_01;";
Я забыл, что должен удалить один из \
, так как я не использую строковый блок по умолчанию, я использую файл XML для сохранения моей строки подключения. Тогда все в порядке. Итак, мое предложение - ваше имя экземпляра неверно.
Это мой пример строки подключения. Я использую локальный компьютер с помощью SQL express:
string servername = @"Data Source=.\SQLExpress;Initial Catalog=Workshop;Integrated Security=True";
Вы должны изменить имя своего сервера и имя экземпляра самостоятельно, убедитесь, что оно исправлено.
Ответ 3
У меня была эта проблема, потому что я получил строку подключения от appsettings.Development.json
:
"Server=msi\\DataBaseName;Database=Super25;Trusted_Connection=True;"
но когда я перешел на
"Data Source=msi\DataBaseName;Initial Catalog=Super25;Integrated Security=True;"
решена!
Ответ 4
в моем случае просто поднимите двойку\до одной слякоти \
знак равно
Ответ 5
Используйте подстановочный знак "@" перед объявлением "Источник данных". примерно так:
connetionString = @"Источник данных =...
Таким образом, вы сможете использовать только обратную косую черту. Например: @"Источник данных =.\SQLEXPRESS; AttachDbFilename = C:\Users\jcabarros...
Ответ 6
Я знаю, что это старая ветка, но, возможно, хорошее обновление. Я не смог найти хороший ответ в поиске по сети.
Я получил ту же ошибку "Ошибка экземпляра" при попытке ссылки на DbContext из другого проекта в том же решении. Первый проект имел DbContext и строку подключения, а второй проект в решении пытался ссылаться на него. Первое приложение работало нормально, проблема возникала только при запуске второго приложения.
Проблема заключалась в том, что файл app.config, в котором была строка подключения из 1-го проекта, находился вне поля зрения 2-го проекта. Таким образом, строка подключения не была собрана.
Моим решением было скопировать app.config из первого проекта во второй.
Это было на VS 2019.
Надеюсь это поможет