ConnectString не работает в C # - PullRequest
0 голосов
/ 04 мая 2018
public static DataSet ParseDatabaseData(string sheetName)
{
 string connectionString = "Provider=System.Data.SqlClient;Data Source= MHSPC56888_VM1\\SQLEXPRESS;Initial Catalog=xxxxxxx;User id=xx;Password=xxxxx;"; 

    SqlConnection conn = new SqlConnection(connectionString);

    string strSQL = "SELECT * FROM [" + sheetName + "$]";
    SqlCommand cmd = new SqlCommand(strSQL, conn);
    conn.Open();
    DataSet dataset = new DataSet();
    SqlDataAdapter adapter = new SqlDataAdapter(cmd);
    adapter.Fill(dataset);
    conn.Close();
    return dataset;

}

Ошибка показывает, что ключевое слово «провайдер» неверно.

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

Ответы [ 2 ]

0 голосов
/ 04 мая 2018

Вместо того, чтобы упоминать строку подключения в самом файле, вы можете поместить строку подключения в web.config или app.config и использовать конфигурацию там, где это необходимо.

Образец для web.config поместите строку подключения под <configuration>, там вы можете указать имя провайдера:

<configuration>
    <connectionStrings>
       <add name="ConnString" 
            connectionString="Data Source= MHSPC56888_VM1\\SQLEXPRESS;Initial Catalog=xxxxxxx;User id=xx;Password=xxxxx;" 
            providerName="System.Data.SqlClient" />
    </connectionStrings>
</configuration>

и внутри файла

public static DataSet ParseDatabaseData(string sheetName)
{
    SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnString"].ConnectionString);

Примечание : добавить using System.Configuration; для ConfigurationManager.

0 голосов
/ 04 мая 2018

Вам не нужно указывать Provider в строке подключения.

Попробуйте это так:

public static DataSet ParseDatabaseData(string sheetName)
{
    string connectionString = "Data Source= MHSPC56888_VM1\\SQLEXPRESS;Initial Catalog=xxxxxxx;User id=xx;Password=xxxxx;"; 
...