Форум программистов, компьютерный форум, киберфорум
Наши страницы
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
ShadowCatRF
7 / 7 / 0
Регистрация: 19.10.2012
Сообщений: 42
1

Определить, какой поставщик OLEDB установлен

27.12.2016, 03:33. Просмотров 991. Ответов 2
Метки нет (Все метки)

Всем добра и с наступающим
Товарищи, я в затруднении с этими провайдерами Microsoft.Jet.OLEDB.4.0 и Microsoft.ACE.OLEDB.12.0. На поднятых вирт машинах (Windows 7 + Office 2003 / 2010 / Просто драйвер провайдера с сайта микрософта) с OLEDB 12(что использую) нет проблем лишь на второй, с 2010ым (впрочем как и должно быть).
Кстати пробовал для 2003го скомпилировать с указанием на OLEDB 4.0 опять матюкается, но уже на отсутствие в системе 4го

Вопрос в следующем. Как определять какой установлен (и установлен ли вообще), и в случае необходимости насильственно прописать используемый драйвер программе (там в прогу вложить, благо известно где длл-ка валяется, в программу)?

Спасибо.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.12.2016, 03:33
Ответы с готовыми решениями:

Поставщик "Microsoft.ACE.OLEDB.12.0" не зарегистрирован на локальном компьютере
Доброе время суток, форумчане. Дело все в том что написанная минипрограмка...

Поставщик "Microsoft.Ace.Oledb.12.0" не зарегистрирован на локальном компьютере
Ошибка " Поставщик "microsoft.ace.oledb.12.0" не зарегистрирован на локальном...

Поставщик "Microsoft.Ace.OLEDB.12.0" не зарегистрирован на локальном компьютере
Здравствуйте, не могу понять почему не работает SQL, написал самый простой...

Поставщик "Microsoft.ACE.OLEDB.12.0" не зарегистрирован на локальном компьютере
В чем дело? В VISUAL BASIC 2013 Создал форму кинул на нее DataGreedView,...

Поставщик "Microsoft.Jet.OLEDB.4.0" не зарегистрирован на локальном компьютере (Windows7, x32)
При изучение БД по самоучителю, столкнулся с проблемой, при попытке запуска...

2
OwenGlendower
Супер-модератор
Эксперт .NET
9323 / 8182 / 3491
Регистрация: 17.03.2014
Сообщений: 16,249
Записей в блоге: 1
27.12.2016, 03:49 2
Лучший ответ Сообщение было отмечено ShadowCatRF как решение

Решение

ShadowCatRF, попробуй использовать класс OleDbEnumerator
C#
1
2
3
4
5
6
7
8
OleDbEnumerator enumerator = new OleDbEnumerator();
DataTable table = enumerator.GetElements();
bool jetOleDb = false, aceOleDb = false;
foreach (DataRow row in table.Rows)
{
    if (row["SOURCES_NAME"].ToString() == "Microsoft.Jet.OLEDB.4.0") jetOleDb = true;
    if (row["SOURCES_NAME"].ToString() == "Microsoft.ACE.OLEDB.12.0") aceOleDb = true;
}
Насчет установки не скажу точно, но по идее копирование в системный каталог и регистрация через regsvr32 должна сработать.
2
ShadowCatRF
7 / 7 / 0
Регистрация: 19.10.2012
Сообщений: 42
28.12.2016, 19:21  [ТС] 3
Думаю добавлю код для vb.net. На всякой случай
vb.net
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Imports System.Data
Imports System.Data.OleDb
Public Class checkOleDB
 
    Dim enumerator As New OleDbEnumerator
    Dim table As DataTable = enumerator.GetElements()
    Dim jetOleDb As Boolean = False
    Dim aceOleDb As Boolean = False
 
    Private Sub checkOleDB_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        For Each row As DataRow In table.Rows
            If row(0) = "Microsoft.Jet.OLEDB.4.0" Then jetOleDb = True
            If row(0) = "Microsoft.ACE.OLEDB.12.0" Then aceOleDb = True
        Next
        If jetOleDb Then
            MsgBox("Microsoft.Jet.OLEDB.4.0")
        ElseIf aceOleDb Then
            MsgBox("Microsoft.Ace.OLEDB.12.0")
        Else
            MsgBox("None instaled")
        End If
    End Sub
End Class
2
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.12.2016, 19:21

Определить, установлен ли Excel в системе
Доброго дня! Подскажите, пожалуйста, возможно ли средствами Visual Basic...

Определить, какой функционал у программы
Обнаружил на компе, доставшемся от другого человека странную программу на...

Как открыть первую страницу в Excel (OLEDB)?
Использую OLEDB для подключения и работе с файлом Excel. Открываю так ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru