Member 12879522 Ответов: 2

Подключение к моей базе данных


Поэтому я не могу подключиться к своей базе данных - это мое приложение. config:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
    
  <connectionstrings>
    <add name="Series" connectionString="Data Source=.;Initial Catalog=Series;IntegratedSecurity=True" providerName="System.Data.SqlClient" />

и это мой код в моем классе БД:
public static SqlConnection ConnectToDB(SqlConnection connection)
        {
            try
            {
                if (connection == null)
                    connection = new SqlConnection(ConfigurationManager.ConnectionStrings["Series"].ConnectionString);
                connection.Open();
               
            }
            catch (Exception ex)
            {
                throw ex;
                
            }
            connection = DB.DisconnectFromDB(connection);
            return connection;
        }

- Название базы данных I " серии"

Что я уже пробовал:

Я думаю, что перепробовал все, но на самом деле не вижу проблемы

F-ES Sitecore

Давайте начнем с основ....какое сообщение об ошибке вы получаете?

CHill60

Вы устанавливаете соединение с выходом из DisconnectFromDB

NotPolitcallyCorrect

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

sachin.vishwa90

вы упомянули адрес сервера в строке подключения?

2 Ответов

Рейтинг:
1

CHill60

Как сказал @NotPoliticallyCorrect - вам нужно пройти через ваш код с помощью отладчика, изучить переменные и поток программы, и вы, возможно, сможете понять, что происходит. Эта статья должна вам помочь Освоение отладки в Visual Studio 2010 - руководство для начинающих[^]

Ваше использование Try-Catch не совсем разумно - вы ничего не добавляете к исключению перед его эскалацией, поэтому просто дайте ему просочиться через поток. Эта статья может вам помочь Рекомендации по обработке исключений в .NET[^]

Ваша проблема-линия

connection = DB.DisconnectFromDB(connection);
Я понятия не имею, что DB есть но я предполагаю что DisconnectFromDB делает то, что он говорит, и отключает ваше тщательно созданное соединение!

На последней ноте - я бы не стал передавать связь таким образом. Инкапсуляции connection переменная в вашем классе. Для упрощенного примера...
using System.Configuration;
using System.Data;
using System.Data.SqlClient;

namespace Sandbox
{
    public class DbClass
    {
        private SqlConnection connection;

        public bool ConnectToDb()
        {
            if (connection == null)
                connection = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectToDB"].ConnectionString);

            if (connection.State != ConnectionState.Open)
                connection.Open();

            return (connection.State == ConnectionState.Open);
        }
    }
}
Который я могу назвать так:
var xdb = new DbClass();
  var b = xdb.ConnectToDb();
  Debug.Print(b.ToString());
- то есть вызывающему модулю не нужно ничего знать о System.Data.SqlClient .. что делает жизнь намного проще, если бы я сменил поставщика баз данных


Рейтинг:
0

OriginalGriff

Начните со строки подключения: источник данных".", вероятно, является местом для начала.
Попробуйте настроить соединение в VS с помощью панели обозревателя серверов:
1) Откройте Проводник Сервера.
2) щелкните правой кнопкой мыши "подключения к данным" и выберите " Добавить соединение"
3) в следующем диалоговом окне выберите источник данных и базу данных, укажите информацию о безопасности и нажмите кнопку "проверить соединение".
4) когда соединение заработает, нажмите кнопку " ОК"
5) выделите свою базу данных на панели обозревателя серверов и посмотрите на панель свойств. Будет показан рабочий пример строки подключения, которую вы можете скопировать и вставить в файл app.config.

Конечно, вам нужно будет изменить его для производства.