2013-07-15 3 views
0

Моя программа «Поиск Сотрудник» веб-приложение Использование VB в Visual Studio 2008 и я использую базу данных в Microsoft AccessКак решить «ODBC-соединение не в состоянии»

запрограммировать его на моем компьютере, она работает 100% , Но когда я переведу проект на другой компьютер для загрузки на сервер, он имеет ошибку

ODBC - соединение с SQL ServerWDT02418 \ SQLEXPRESS не удалось.

WDT02418 - имя моего компьютера. Но я запускаю проект на другом компьютере.

Я использую соединение с базой данных, как этот

Function CountEmpData(ByVal EN As String, ByVal Area As String, ByVal Product_type As String) As Integer 
    Dim CounterEmpData As Integer 

    Try 

     Dim ole As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\PROJECT_WD\e-OJT_Project6\Database\Employee.mdb") 
     ole.Open() 
     Dim sqlCommand As String = "SELECT COUNT(*) AS 'Counter' FROM Employee WHERE (Emp_ID LIKE '%" + EN + "%') AND (Area LIKE '%" + Area + "%') AND (Product_Type LIKE '%" + Product_type + "%')" 
     Dim myCommand As New OleDbCommand(sqlCommand, ole) 
     Dim myReader As OleDbDataReader = myCommand.ExecuteReader() 
     While myReader.Read() 
      CounterEmpData = myReader.GetInt32(0) 
     End While 
     myReader.Close() 
     ole.Close() 

    Catch ex As Exception 

    End Try 

    Return CounterEmpData 
End Function 

Это предупреждение об ошибке в строке

Dim myReader As OleDbDataReader = myCommand.ExecuteReader() 

Кто-то пожалуйста, помогите мне !!

+0

SQL Express по умолчанию не поддерживает соединения с другого компьютера. Это нормально, вы, вероятно, не хотите, чтобы ваш веб-сайт умирал при перезагрузке или отключении вашей машины. Обходной путь является очевидным, переместите dbase на этот сервер. –

ответ

0

В коде выше ничего не указано в компьютере, кроме места доступа к файлу доступа, но отсутствие этого не приведет к возникновению ошибки выше. Поэтому я думаю, что проблема должна заключаться в вашей базе данных .mdb, и я подозреваю, что проблема заключается в том, что она содержит таблицы, связанные с SQL Server, к которым может работать только код, запущенный на вашем компьютере.

Я бы устранил это с помощью Microsoft Access UI, чтобы открыть базу данных доступа на одном из других компьютеров, открыв таблицу Employee и посмотрев, есть ли у вас ошибка. Если вы это сделаете, вы поймете, что это база данных Access, которая виновата, а не ваш код. Я предполагаю, что в этот момент удаленные соединения не настроены на SQL Server Express (см. here, чтобы узнать, как включить удаленные подключения), или какое-либо правило брандмауэра на вашем компьютере препятствует подключению других компьютеров к экземпляру SQL Server Express , поэтому я бы открыл брандмауэр Windows и разрешил входящий трафик на порт, который прослушивает SQL Server Express, или (лучше) переместить SQL Server с вашего локального компьютера на выделенный сервер разработки.

+0

Я устанавливаю SQL Server Express и межсетевой экран как ссылку, которую вы прикрепляете. Но это не сработает. –

+0

Возможно, у вашего сетевого администратора установлен межсетевой экран, который не может быть отключен вашим компьютером. Наверное, лучше всего поговорить с тем, кто снабдит ваше оборудование, чтобы получить возможность разработки SQL Server. –

Смежные вопросы