Я ТУПОЙ, ИЛИ НЕВНИМАТЕЛЬНЫЙ?
Или, просто, все остальные боятся признать свою непросвещенность?
В форуме неоднократно поднимался вопрос о том как можно (и можно ли вообще) програмно создать на диске файл локальной (настольной или как там ее еще, чтобы понятнее) базы данных.
Я лично пишу на VC++, С базами общаюсь посредством OLE DB.
Кто-нибудь! наберитесь духа и напишите: "ЭТОГО СДЕЛАТЬ НЕЛЬЗЯ! " или: "Я НЕ ЗНАЮ КАК ЭТО СДЕЛАТЬ "
Получить какой-нибудь полезный совет я уже отчаялся ...
Здравствуйте Аноним, Вы писали:
А>В форуме неоднократно поднимался вопрос о том как можно (и можно ли вообще) програмно создать на диске файл локальной (настольной или как там ее еще, чтобы понятнее) базы данных. А>Я лично пишу на VC++, С базами общаюсь посредством OLE DB. А>Кто-нибудь! наберитесь духа и напишите: "ЭТОГО СДЕЛАТЬ НЕЛЬЗЯ! " или: "Я НЕ ЗНАЮ КАК ЭТО СДЕЛАТЬ " А>Получить какой-нибудь полезный совет я уже отчаялся ...
Хм. IDBDataSourceAdmin смотрел ?
-- Пользователи не приняли программу. Всех пришлось уничтожить. --
Здравствуйте Аноним, Вы писали:
А>Я ТУПОЙ, ИЛИ НЕВНИМАТЕЛЬНЫЙ?
Мне кажется второе, хотя вообще связные понятия.
[]
А>Кто-нибудь! наберитесь духа и напишите: "ЭТОГО СДЕЛАТЬ НЕЛЬЗЯ! " или: "Я НЕ ЗНАЮ КАК ЭТО СДЕЛАТЬ " А>Получить какой-нибудь полезный совет я уже отчаялся ...
Зачем же так сильно кричать, мы не глухие. Try this
Dim cat As New ADOX.Catalog
cat.Create "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\new.mdb"
Предварительно нужно поставить ссылку на MS ADO Extention (msadox.dll).
На VC действуешь подобным образом. (Хинт: сотри в сторону #import)
Re[2]: Риторический вопрос
От:
Аноним
Дата:
06.10.02 12:21
Оценка:
Здравствуйте Коваленко Дмитрий, Вы писали:
КД>Хм. IDBDataSourceAdmin смотрел ?
Спасибо за оперативность.
Смотрел, а это помогает? Я даже запустить чего-то пробовал, только не получилось, не помню толи не понял как, толи вообще ничего не понял, если я вообще понятно выражаюсь...
Здравствуйте Аноним, Вы писали:
КД>>Хм. IDBDataSourceAdmin смотрел ? А>Смотрел, а это помогает? Я даже запустить чего-то пробовал, только не получилось, не помню толи не понял как, толи вообще ничего не понял, если я вообще понятно выражаюсь...
Должно помогать. Потому что этот интерфейс для создания.разрушения баз данных и предназначен.
Правда, лично я еще ни разу этот интерфейс не использовал — потому что точно знаю что мой OLEDB провайдер пока его не поддерживает
Вообщем, читай описание IDBDataSourceAdmin и мучай свой провайдер
-- Пользователи не приняли программу. Всех пришлось уничтожить. --
Re[2]: Риторический вопрос
От:
Аноним
Дата:
06.10.02 12:31
Оценка:
Здравствуйте Алекс, Вы писали:
А>Зачем же так сильно кричать, мы не глухие. Try this А>
А> Dim cat As New ADOX.Catalog
А> cat.Create "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\new.mdb"
А>
А>Предварительно нужно поставить ссылку на MS ADO Extention (msadox.dll).
А>На VC действуешь подобным образом. (Хинт: сотри в сторону #import)
Спасибо, Только ADO у меня с хелпами под ВАСИК и в СИ ни одного Н-файла, с таким багажом проще застрелиться
Re[4]: Риторический вопрос
От:
Аноним
Дата:
06.10.02 12:34
Оценка:
Здравствуйте Коваленко Дмитрий, Вы писали:
КД>Здравствуйте Аноним, Вы писали:
КД>>>Хм. IDBDataSourceAdmin смотрел ? А>>Смотрел, а это помогает? Я даже запустить чего-то пробовал, только не получилось, не помню толи не понял как, толи вообще ничего не понял, если я вообще понятно выражаюсь...
КД>Должно помогать. Потому что этот интерфейс для создания.разрушения баз данных и предназначен. КД>Правда, лично я еще ни разу этот интерфейс не использовал — потому что точно знаю что мой OLEDB провайдер пока его не поддерживает
КД>Вообщем, читай описание IDBDataSourceAdmin и мучай свой провайдер
Ладно, пострадаю еще пару дней авось получится, а потом, как говорится, помоюсь и в горы...
Здравствуйте Аноним, Вы писали:
А>Здравствуйте Алекс, Вы писали:
[]
А>Спасибо, Только ADO у меня с хелпами под ВАСИК и в СИ ни одного Н-файла, с таким багажом проще застрелиться
Это не ADO, а ADOX. А во-вторых, если нет заголовков смотри директиву #import!
Re[4]: Риторический вопрос
От:
Аноним
Дата:
07.10.02 19:24
Оценка:
Здравствуйте Алекс, Вы писали:
А>Это не ADO, а ADOX. А во-вторых, если нет заголовков смотри директиву #import!
Ладно, спасибо за совет, если ничего не останется, буду копать в эту сторону
Re[4]: Риторический вопрос
От:
Аноним
Дата:
07.10.02 19:39
Оценка:
Здравствуйте Коваленко Дмитрий, Вы писали:
КД>Должно помогать. Потому что этот интерфейс для создания.разрушения баз данных и предназначен. КД>Правда, лично я еще ни разу этот интерфейс не использовал — потому что точно знаю что мой OLEDB провайдер пока его не поддерживает
КД>Вообщем, читай описание IDBDataSourceAdmin и мучай свой провайдер
Я попробовал и у меня НЕ ПОЛУЧИЛОСЬ!
Вообще то я в СОМ, мягко говоря, не силен, но моего скудного ума хватает на то чтобы допереть что в приведенном ниже коде открываются (должны) два интерфейса одного СОМ-объекта (или я ошибаюсь?)
Первый фрагмет я содрал, второй — состряпал по образу и подобию первого. Как и следовало ожидать: первый проходит на ура (hr = 0) , а со вторым полный провал.
В чем проблема?
А>Первый фрагмет я содрал, второй — состряпал по образу и подобию первого. Как и следовало ожидать: первый проходит на ура (hr = 0) , а со вторым полный провал. А>В чем проблема?
Это значит, что MSDASQL его не поддерживает.
Вообще MSDASQL — это OLEDB для ODBC. То есть типа универсальный провайдер. И вряд ли эта универсальность распространяется на возможность создания баз данных.
-- Пользователи не приняли программу. Всех пришлось уничтожить. --
Здравствуйте Коваленко Дмитрий, Вы писали:
КД>Это значит, что MSDASQL его не поддерживает. КД>Вообще MSDASQL — это OLEDB для ODBC. То есть типа универсальный провайдер. И вряд ли эта универсальность распространяется на возможность создания баз данных.
Здравствуйте Grumbler, Вы писали:
G>Здравствуйте Коваленко Дмитрий, Вы писали:
КД>>Это значит, что MSDASQL его не поддерживает. КД>>Вообще MSDASQL — это OLEDB для ODBC. То есть типа универсальный провайдер. И вряд ли эта универсальность распространяется на возможность создания баз данных.
G>А что можно попробовать ещё?
Вспомнил — через мой провайдер все таки можно создать/уничтожить базу данных. Через SQL типа —
"CREATE DATABASE ..."
и
"DROP DATABASE ..."
Так что если ODBC драйвер такие запросы переваривает — можно попробовать. Хотя я в ODBC ни бельмеса не понимаю, так что здесь могу пороть чушь
-- Пользователи не приняли программу. Всех пришлось уничтожить. --
Re: Риторический вопрос
От:
Аноним
Дата:
09.10.02 09:57
Оценка:
Здравствуйте Аноним, Вы писали:
А>Я ТУПОЙ, ИЛИ НЕВНИМАТЕЛЬНЫЙ? А>Или, просто, все остальные боятся признать свою непросвещенность? А>В форуме неоднократно поднимался вопрос о том как можно (и можно ли вообще) програмно создать на диске файл локальной (настольной или как там ее еще, чтобы понятнее) базы данных. А>Я лично пишу на VC++, С базами общаюсь посредством OLE DB. А>Кто-нибудь! наберитесь духа и напишите: "ЭТОГО СДЕЛАТЬ НЕЛЬЗЯ! " или: "Я НЕ ЗНАЮ КАК ЭТО СДЕЛАТЬ " А>Получить какой-нибудь полезный совет я уже отчаялся ...
Если тебе извесна структура своей базы, то попробуй так: создай утилитами эту самую базу. Она будет соответственно пустая. Потом просто копируй её куда надо, и всё. Когда-то давно я так с BTRIEVE'ом поступал.
Здравствуйте Аноним, Вы писали:
А>Если тебе извесна структура своей базы, то попробуй так: создай утилитами эту самую базу. Она будет соответственно пустая. Потом просто копируй её куда надо, и всё. Когда-то давно я так с BTRIEVE'ом поступал.
Отличный полход (от других)! Мне эта мыль тоже в голову приходила, но вот незадача: чем создать этот файл, например, формата Microsoft Jet 3.5 или 4.0
Или другой вопрос: Если кто-то (OLE DB, например) занимается ВСЕЙ работой с базами данных, почему бы ему не выполнять действительно ВСЮ работу, в том числе и создание?
Здравствуйте Коваленко Дмитрий, Вы писали:
КД>Здравствуйте Grumbler, Вы писали:
G>>Здравствуйте Коваленко Дмитрий, Вы писали:
КД>>>Это значит, что MSDASQL его не поддерживает. КД>>>Вообще MSDASQL — это OLEDB для ODBC. То есть типа универсальный провайдер. И вряд ли эта универсальность распространяется на возможность создания баз данных.
G>>А что можно попробовать ещё?
КД>Вспомнил — через мой провайдер все таки можно создать/уничтожить базу данных. Через SQL типа —
"CREATE DATABASE ..."
и
"DROP DATABASE ..."
КД>Так что если ODBC драйвер такие запросы переваривает — можно попробовать. Хотя я в ODBC ни бельмеса не понимаю, так что здесь могу пороть чушь
Встречный вопрос: Каким образом в OLE DB выполнить SQL-оператор, НЕвозвращающий набор данных?
Например: CREATE, INSERT, UPDATE и т. д.