2016-01-06 1 views
0

У меня есть строка соединения в моих файлах конфигурации, как такУдаленный сервер требует таблица не существует

добавить имя = «сущности» ConnectionString = "Источник данных = локальный; идентификатор пользователя = имя пользователя; пароль = somepassword ; сохраняется информация безопасности = True; базы данных = DBName»ProviderName = "MySql.Data.MySqlClient"

Это работает с локальным хостом.

Как только я изменить источник данных для источника данных = 123.34.45.56 < - некоторые удаленный сервер

я MySql.Data.MySqlClient.MySqlException: Table 'mydb.Emails' не существует

Если я использую код подключения в C# он будет работать на удаленном сервере: Пример ниже

MySql.Data.MySqlClient.MySqlConnection mySqlConnection = new 
MySql.Data.MySqlClient.MySqlConnection(); 
mySqlConnection.ConnectionString = "Data Source=123.34.45.56;user id=username;password=somepassword;persist security info=True;database=dbname"; 


string conString = mySqlConnection.ConnectionString; 
using (MySqlConnection connection = new MySqlConnection(conString)) { 
    connection.Open(); 

    using (MySqlCommand command = new MySqlCommand(
    "SELECT * FROM emails", 
    connection)) { 

     using (MySqlDataReader reader = command.ExecuteReader()) { 
      while (reader.Read()) { 
       for (int i = 0; i < reader.FieldCount; i++) { 
        var tr = reader.GetValue(i); 
       } 

      } 
     } 
    } 
} 

Каким образом строка соединения в web.config бросает эту ошибку для каждой таблицы MySql.Data.MySqlClient.MySqlException: Table 'mydb.Emails' не существует.

Таблицы есть, поскольку код подключения C# может открыть соединение и запросить данные просто отлично.

Как заставить строку подключения работать?

+0

У вашей строки связи, которую вы опубликовали, есть лишний unescaped «это заканчивается раньше. Было ли это копирование/вставка или это просто ошибка в вашей записи? – wentimo

+0

Это просто ошибка в записи. Извините. – Wes

+0

В этой ошибке есть много результатов поиска. Вы не делитесь сведениями о своем сервере, поэтому мы не можем знать, что не так. Пожалуйста, прочитайте [ask], покажите свои исследования и объясните, какие возможные причины вы устранили. – CodeCaster

ответ

3

John Garrard был прав. Это была проблема чувствительности к случаю с базой данных, расположенной в двух разных операционных системах. Мне нужно было учитывать, что мои сущности чувствительны к регистру, а переключение строки соединения будет работать между машиной разработки Windows и машиной Linux. Благодарю.

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