Здравствуйте, гость ( Вход | Регистрация )
DmP | Дата 24.5.2009, 16:52 |
вообще путь с пробелами это от лукавого, это даже мелкосовтовцы поняли, в Висте этот каталог только ради совместимости существует. Попробуй его в кавычки взять, а лучше вообще в Program files ничего не клади. Ни каких кавычек не надо, следующий фрагмент прекрасно работает:
|
|
Litkevich Yuriy | Дата 24.5.2009, 15:49 |
C:\Program files\My Program\1.mdb вообще путь с пробелами это от лукавого, это даже мелкосовтовцы поняли, в Висте этот каталог только ради совместимости существует.Попробуй его в кавычки взять, а лучше вообще в Program files ничего не клади. |
|
DmP | Дата 24.5.2009, 14:35 |
Цитата(DmP @ 24.5.2009, 4:52) * DBQ=1.mdb вот здесь, например, нет пути к файлу, как ODBC должен догадаться о его место положении? Под виндой: DBQ=C:\Program files\My Program\1.mdb; |
|
Litkevich Yuriy | Дата 24.5.2009, 5:58 |
я с ODBC практически не знаком, т.е. до Qt с ним не работал. И правила записи имени источника данных через программу не знаю. Также не знаю насколько полно Qt поддерживает ODBC, например, при работе с FireBird'ом не всё ровно. Когда используется способ какой описал я, то всегда работает надёжно. этого вполне достаточно, возможноDBQ=1.mdb вот здесь, например, нет пути к файлу, как ODBC должен догадаться о его место положении?И будет ли такая запись работать на *nix-системах? И не понятно насколько полно поддерживает unixODBC мелкосовтовский стандарт? |
|
DmP | Дата 24.5.2009, 0:52 |
Вопрос в тему возник: если при использовании ODBC надо так работу с БД настраивать, то как распространять программу на другие компьютеры? db.setDatabaseName("DRIVER={Microsoft Access Driver (*.mdb)};FIL={MS Access};DBQ=1.mdb"); этого вполне достаточно, возможно причина ошибки у ieroglif в другом. |
|
vanvo | Дата 23.5.2009, 22:17 |
"Пуск" -> "Настройка" -> "Панель управления" -> "Администрирование" -> "Источники данных ODBC" На вкладке "Пользовательский DSN" добавь источник данных (в качестве драйвера выбери "Microsoft Access Driver") дальше я думаю по подписям на кнопках догадаешся. Задай имя источнику данных и затем помести это имя в функцию db.setDatabaseName() Вопрос в тему возник: если при использовании ODBC надо так работу с БД настраивать, то как распространять программу на другие компьютеры? Везде придется делать "Пуск" -> "Настройка" -> "Панель управления" -> "Администрирование" -> "Источники данных ODBC"...? |
|
Litkevich Yuriy | Дата 23.5.2009, 20:20 |
хм... а какую базу можешь посоветовать файловую что бы было кроссплатформенно и легко работало с кт? SQLite, входит в состав Qt. А после компиляции твоего приложения, оказывается в строенной в него. |
|
ieroglif | Дата 23.5.2009, 20:17 |
хм... а какую базу можешь посоветовать файловую что бы было кроссплатформенно и легко работало с кт? | |
Litkevich Yuriy | Дата 23.5.2009, 19:50 |
что бы вообще настраивать ничего не надо было, а всё было в коде? так не получится.Разве что, если есть такая воозможность вообще, воспользоватся какой-нибудь утилитой командной строки, чтобы передать ей параметры настройки, тогда можно это сделать с помощью QProcess. хм... а в линуксе? =) скачай тут документацию там есть пример настройки ODBC под Линухоми кроссплатформенно? |
|
ieroglif | Дата 23.5.2009, 19:42 |
хм... а в линуксе? =) и кроссплатформенно? что бы вообще настраивать ничего не надо было, а всё было в коде? |
|
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 29.3.2024, 14:40 |