Ошибка входа в систему из-за ошибки пользователя при подключении к SQL Server во время импорта Excel

#c# #sql-server #visual-studio #sql-server-2005 #visual-studio-2005

#c# #sql-server #visual-studio #sql-server-2005 #visual-studio-2005

Вопрос:

Я выполняю импорт данных из электронной таблицы Excel в SQLServer 2005 через C # Visual Studio 2005. Я предполагаю, что мое соединение было прервано, поскольку я не получаю никаких ошибок до самой последней части, в которой мои учетные данные для моего имени пользователя и пароля для sqlconnectionstring были запрошены как недействительные. Ниже приведен код ошибки и мой код.

введите описание изображения здесь
http://i.stack.imgur.com/MjRXm.png

 using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Data.OleDb;
using System.Data.Common;
using System.Data.SqlClient;

public partial class _Default : System.Web.UI.Page
{
    public static string path = @"c:Documents and SettingsrhlimMy DocumentsVisual Studio 2005WebSitesinsqlserverstudentsheet1.xls";
    public static string connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="   path   ";Extended Properties=Excel 8.0;";

    protected void Page_Load(object sender, EventArgs e)
    {
        // Connection String to Excel Workbook
        //**string excelConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source='c:Documents and SettingsrhlimMy DocumentsVisual Studio 2005WebSitesinsqlserverstudentsheet.xls';Extended Properties='Excel 8.0;HDR=Yes;IMEX=1'";


        // Create Connection to Excel Workbook
using (OleDbConnection connection =
             new OleDbConnection(connStr))
{
    OleDbCommand command = new OleDbCommand
            ("Select StudentName,RollNo,Course FROM [Sheet1$]", connection);

    connection.Open();

    // Create DbDataReader to Data Worksheet
    using (DbDataReader dr = command.ExecuteReader())
    {
        // SQL Server Connection String
        string sqlConnectionString = "Data Source=<IP>;Initial Catalog=<database>;User ID=<userid>;Password=<password>;Integrated Security=True";

        // Bulk Copy to SQL Server
        using (SqlBulkCopy bulkCopy =
                   new SqlBulkCopy(sqlConnectionString))
        {
            bulkCopy.DestinationTableName = "ExcelData";
            bulkCopy.WriteToServer(dr); <------Error appeared at this line
        }
    }
}
}
}
 

Ответ №1:

удалите часть «интегрированная безопасность» из строки подключения к БД. Это настраивает ваше соединение на использование проверки подлинности Windows вместо проверки подлинности sql. Посмотрите примеры на http://www.connectionstrings.com /