Соединение с SQL in c# Ошибка «Соединение неверно» - PullRequest
0 голосов
/ 15 января 2020

Я пытаюсь установить соединение между моей windows формой c# программой и sqlexpress базой данных, которая не имеет имени пользователя или пароля, если тип аутентификации - windows аутентификация.

Я считаю, что проблема со строкой, но я не понимаю, я могу подключиться в консольном приложении windows, но не в приложении windows. Я пробовал различные строки подключения ..

Последняя строка выдает ошибку

System.ArgumentException: «Соединение недействительно»

Любая положительная помощь высоко ценится, посмотрел везде и искать SO и не может найти подобный вопрос

        {
            // New instance of ExcelEngine created (opening excel with no workbooks open)
            using (ExcelEngine excelEngine = new ExcelEngine())
            {
                // Create excel application object
                IApplication application = excelEngine.Excel;

                //Assigns default application version
                application.DefaultVersion = ExcelVersion.Excel2013;

                // New workbook created with one worksheet
                IWorkbook workbook = application.Workbooks.Create(1);

                //Access a worksheet in workbook
                IWorksheet worksheet = workbook.Worksheets[0];

                if (worksheet.ListObjects.Count == 0)
                {
                    //Estabilishing the connection in the worksheet 
                    string connectionString = "Server =NBE\\SQLEXPRESS; Initial Catalog = BikeStores; Trusted_Connection = True";
                    // "Data Source = NICHOLASBOACHIE\\SQLEXPRESS; Initial Catalog = BikeStores; Integrated Security = SSPI";

                    string query = "SELECT * FROM [BikeStores].[sales].[staffs]";

                    IConnection connection = workbook.Connections.Add("SQLConnection", "Connection with SQL Server", connectionString, query, ExcelCommandType.Sql);

                    //Create Excel table from external connection (intitate worksheet)
                    worksheet.ListObjects.AddEx(ExcelListObjectSourceType.SrcQuery, connection, worksheet.Range["A1"]);


                } 

1 Ответ

1 голос
/ 15 января 2020

Похоже, ваш формат строки подключения неверен. Библиотека System.Data.SqlClient имеет класс SqlConnectionStringBuilder, который может оказаться полезным.

Это задокументировано здесь

Уже давно я использовал этот класс но как то так:

SqlConnection myConnection = new SqlConnection();
SqlConnectionStringBuilder myBuilder = new SqlConnectionStringBuilder();
myBuilder.IntegratedSecurity = true;
myBuilder.InitialCatalog = "BikeStores";
myBuilder.DataSource = "NBE\\SQLEXPRESS";
myConnection.ConnectionString = myBuilder.ConnectionString;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...