Ошибка входа при ошибке пользователя при подключении к SQL Server во время импорта Excel - PullRequest
2 голосов
/ 01 ноября 2011

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

enter image description here 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 Settings\rhlim\My Documents\Visual Studio 2005\WebSites\insqlserver\studentsheet1.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 Settings\rhlim\My Documents\Visual Studio 2005\WebSites\insqlserver\studentsheet.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 Ответ

5 голосов
/ 01 ноября 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...