проблема с подключением к базе данных доступа в asp.net 2.0

привет я пытаюсь получить набор данных из базы данных доступа

я использую эту строку подключения:

<connectionStrings>
    <add name="SiteConnString" connectionString="Data Source=c:\inetpub\vhosts\db\mainDB.mdb" 
         providerName="Microsoft.Jet.OLEDB.4.0" />
</connectionStrings>

и это мой вызов SqlHelper:

myDataSet = SqlHelper.ExecuteDataset(connString, CommandType.Text, strSQL);

и ошибка, которую я получаю, такова:

При установлении соединения с SQL Server произошла ошибка, связанная с сетью или конкретным экземпляром. Сервер не найден или не был доступен. Убедитесь, что имя экземпляра указано правильно и что SQL Server настроен на разрешение удаленных подключений. (поставщик: Сетевые интерфейсы SQL, ошибка: 26 — Ошибка при обнаружении указанного сервера/экземпляра)


person guy schaller    schedule 28.08.2010    source источник
comment
Просто догадываюсь, но у вас есть connString и SiteConnString.   -  person Fionnuala    schedule 28.08.2010
comment
@Remou: одна из них — локальная переменная или переменная класса, другая — ключ к записи конфигурации. К сожалению, проблема скорее всего не в этом.   -  person kbrimington    schedule 28.08.2010


Ответы (1)


Атрибут providerName ожидает имя класса поставщика ADO.NET. Попробуйте изменить подключение следующим образом:

<connectionStrings>
    <add name="SiteConnString"
         connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\inetpub\vhosts\db\mainDB.mdb"
         providerName="System.Data.OleDb" />
</connectionStrings>

Очень удобным справочником по форматам строк подключения является http://connectionstrings.com.

person kbrimington    schedule 28.08.2010
comment
я пробовал это уже на самом деле, но это ошибка, которую я получаю с этой строкой подключения. Детали исключения: System.ArgumentException: ключевое слово не поддерживается: «поставщик». - person guy schaller; 29.08.2010
comment
@guy - В этом случае SqlHelper должен быть классом, предназначенным для поддержки только SQL Server, для которого Provider действительно не подходит в строке подключения. Вы можете получить больше пользы от классов System.Data.OleDb, особенно от его адаптера данных. Вот ссылка на соответствующую документацию и примеры: msdn.microsoft.com/en-us/library/ - person kbrimington; 29.08.2010