Неверное имя объекта "CAccounts" - PullRequest
0 голосов
/ 20 августа 2010

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

Недопустимое имя объекта "CAccounts".

и мой код:

System.Threading.Thread thread = new System.Threading.Thread(() =>
{
    // Set ConnectionString.
    String sConSg =
    "CONNSTRING HERE";

    using (SqlConnection connection = new SqlConnection(sConSg))
    {
        try
        {
            connection.Open();
        }
        catch (Exception exception)
        {
            MessageBox.Show(stat.Text = exception.Message);
        }

        try
        {
            SqlDataReader slrr = null;
            SqlCommand command = new SqlCommand("SELECT ActivationCode FROM CAccounts WHERE ActivationCode = " +
                "'" + _activationcode.Text + "'", connection);
            slrr = command.ExecuteReader();

            while (slrr.Read())
            {
                if (slrr["ActivationCode"].ToString() == _activationcode.Text)
                {
                    MessageBox.Show(slrr["ActivationCode"].ToString(), "AutoOptimise");

                }
                else
                {
                }
            }
        }
        catch (Exception exception)
        {
            MessageBox.Show(stat.Text = exception.Message);
        }
    }

});
thread.Start();

Может кто-нибудь, пожалуйста, пролить немного света?

Ответы [ 4 ]

1 голос
/ 20 августа 2010

Я бы предложил следующие вещи:

  • проверить, под какой схемой находится объект CAccounts.Это dbo или другое?Имеет ли пользователь разрешения для этой схемы?

  • войти в SQL Server через Management Studio.Используйте учетные данные в строке подключения, которую использует код.Вставьте и выполните приведенный выше оператор SQL.

  • используйте SQL Profiler для захвата / проверки того, что оператор SQL пересекается с вашим SQL Server.Запустите THAT как специальный запрос для этого SQL Server.

  • Есть ли какие-нибудь забавные проблемы с DNS?Хосты файлы?Это происходит во время отладки или на сервере приложений?

  • Правильно ли указано имя сервера базы данных?то есть localhost против именованного сервера.Попробуйте обратиться по IP-адресу, на котором вы ожидаете его запустить, просто для удовольствия, как в строке подключения, так и через SSMS.

1 голос
/ 13 февраля 2011

Вместо CAccounts, я должен был пометить его как DATABASENAME.dbo.CAccounts.

Так что это будет что-то вроде:

"SELECT * FROM DATABASENAME.db.CAccounts"

1 голос
/ 20 августа 2010

Таблица CAccounts, на которую вы ссылаетесь в предложении select, вероятно, не существует в базе данных.Проверьте это.

См. Список возможностей здесь:

http://web.archive.org/web/20150519073601/http://sqlserver2000.databases.aspfaq.com:80/why-do-i-get-object-could-not-be-found-or-invalid-object-name.html

0 голосов
/ 10 ноября 2018

Это может работать:

SqlConnection con = new SqlConnection("Data Source=192.168.1.12;Initial Catalog=Ibrahim;User ID=sa;Password=1412;");
            con.Open();
            SqlCommand cmd = new SqlCommand("insert into Ibrahim.EVC_Activation_Val (Date,Dealer,Transaction_ID,Invoice_ID,Mobile_Num,Quantity_LE) values('" + DateTimePicker1.Value.ToString("yyyy/mm/dd") + "','" + Txtbx1.Text + "','" + Txtbx2.Text + "','" + Txtbx3.Text + "','" + Txtbx4.Text + "','" + Txtbx5.Text  + "')",con);
            cmd.ExecuteNonQuery();
            MessageBox.Show("Saved");
            con.Close();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...