Подключение к базе данных SQL Server 2012 в Visual Studio 2008 - PullRequest
0 голосов
/ 28 ноября 2018

В настоящее время я разрабатываю мобильное приложение на основе Windows CE для моей команды, чтобы отслеживать активы и сохранять их в нашей существующей базе данных.

Я могу успешно разрабатывать и развертывать программное обеспечение, однако не могу подключиться к своей базе данных SQL Server 2012 из Visual Studio 2008. Когда я пытаюсь подключиться из Visual Studio 2017, все работает нормально.

Это мой тестовый код, но не мой реальный код отслеживания активов, поэтому он не будет иметь пользовательского интерфейса, который я создал для приложения отслеживания активов.

using System;
using System.Linq;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace test_smart_device
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            button1.Click += new EventHandler(button_connect);
        }

        private void button_connect(object sender, EventArgs e)
        {
            string connetionString = null;
            SqlConnection cnn ;
            connetionString = "Data Source=172.16.206.20;Initial Catalog=IBusinessTest;Integrated Security=SSPI;User ID=username;Password=123456";

            cnn = new SqlConnection(connetionString);

            try
            {
                cnn.Open();
                MessageBox.Show ("Connection Open ! ");
                cnn.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Can not open connection ! ");
            }
        }
    }
}

Когда я пытаюсь подключиться к своей базе данных,Я получаю эту ошибку:

error details captured by the debugger

Это от отладчика, когда я ставлю точку останова в операторе catch

1 Ответ

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

Мне нравятся две вещи:

  • Строка подключения включает в себя Integrated Security=SSPI;, но вы также включаете User ID=username;Password=123456 - так что, используете ли вы Integrated Security (т.е. вход в системус пользователем Windows, который запускает программу от имени домена или идентичные учетные данные рабочей группы как на устройстве CE, так и на SQL Server), или вы пытаетесь использовать аутентификацию SQL Server (указав идентификатор пользователя и пароль)?Вы не можете использовать оба.
  • Ошибка SQL Server does not exist or access denied подразумевает, что ваше соединение было отклонено, но не говорит почему.Если это не учетные данные, то это может быть само соединение.Вы проверили, что сервер удаленно доступен с устройства?Они в одной локальной сети?При использовании физического устройства в Wi-Fi оно имеет разрешение на связь с другими устройствами в сети (некоторые маршрутизаторы WiFi, особенно корпоративные, имеют возможность пропускать только трафик на шлюз и отклонять запросы на локальные адреса).
...