Альтернативы DatabaseLayer?
Альтернативы DatabaseLayer?
Есть ли альтернативы DatabaseLayer с поддержкой баз данных MySQL и MS SQL Server (ODBC или напрямую). Хотелось бы также полноценную поддержку хранимых процедур.
Code::Blocks svn 7789, wxPack 2.8.12.01, TDM MinGW GCC 4.4.1, DatabaseLayer 1.8
Code::Blocks svn 7789, wxPack 2.8.12.01, TDM MinGW GCC 4.4.1, DatabaseLayer 1.8
-
- Super wx Problem Solver
- Posts: 362
- Joined: Wed Mar 07, 2007 8:10 am
- Location: Russia, Shakhty
Re: Альтернативы DatabaseLayer?
http://debea.net/trac/wiki/WxDba
это вообще что-то не понятное, какие-то проблемы с Execute ХП или SELECT FROM ХП?полноценную поддержку хранимых процедур
WinXP SP3, wx-2.8.10, MinGW-4.4.1, gdb-7.1.2, eclipse
-
- Super wx Problem Solver
- Posts: 401
- Joined: Wed Sep 21, 2005 8:17 am
- Location: Rostov-on-Don, Southern Russia
Re: Альтернативы DatabaseLayer?
Для Firebird я использовал IBPP - http://www.ibpp.org/
Могу предположить, что для PostgreSQL и MySQL есть так же свои С++ клиентские-библиотеки
Могу предположить, что для PostgreSQL и MySQL есть так же свои С++ клиентские-библиотеки
Win XP HE SP3, Vista
Xubuntu 12.04 LTS
wxWidgets-2.9.5
wxWidgets-3.0.0
Xubuntu 12.04 LTS
wxWidgets-2.9.5
wxWidgets-3.0.0
-
- Super wx Problem Solver
- Posts: 401
- Joined: Wed Sep 21, 2005 8:17 am
- Location: Rostov-on-Don, Southern Russia
Re: Альтернативы DatabaseLayer?
Есть еще SOCI http://soci.sourceforge.net/ но этого фрукта я не использовал, поэтому не могу сказать, что он из себя представляет.
Win XP HE SP3, Vista
Xubuntu 12.04 LTS
wxWidgets-2.9.5
wxWidgets-3.0.0
Xubuntu 12.04 LTS
wxWidgets-2.9.5
wxWidgets-3.0.0
Re: Альтернативы DatabaseLayer?
Требуется поддержка параметров INPUT, OUTPUT и INPUT_OUTPUT.это вообще что-то не понятное, какие-то проблемы с Execute ХП или SELECT FROM ХП?
Например SOCI, как я понял, не поддерживает ХП в ODBC (http://soci.sourceforge.net/doc/backends/index.html).
У DatabaseLayer вроде бы поддержка параметров ХП есть (по крайней мере в исходниках встречается SQLBindParameter). Правда пока не понял как использовать.
Code::Blocks svn 7932, wxPack 2.8.12.01, TDM MinGW GCC 4.4.1, DatabaseLayer 1.8
Feci, quod potui. Faciant meliora potentes.
-
- Super wx Problem Solver
- Posts: 362
- Joined: Wed Mar 07, 2007 8:10 am
- Location: Russia, Shakhty
Re: Альтернативы DatabaseLayer?
Ни одна либа отдельно параметры ХП не держит ей это не нужно ибо параметры к ХП задаются в самом запросе типа
EXECUTE MYSP (par1, par2) или EXECUTE PROCEDURE MYSP (par1, par2) - это если ничего не нужно возвращать из ХП
и
SELECT * FROM MYSP(par1, par2) - ели ХП что-то возвращает
Ты ж почему-то про параметры от SELECT не спрашиваешь.
В зависимости от SQL сервера синтаксис может меняться
EXECUTE MYSP (par1, par2) или EXECUTE PROCEDURE MYSP (par1, par2) - это если ничего не нужно возвращать из ХП
и
SELECT * FROM MYSP(par1, par2) - ели ХП что-то возвращает
Ты ж почему-то про параметры от SELECT не спрашиваешь.
В зависимости от SQL сервера синтаксис может меняться
WinXP SP3, wx-2.8.10, MinGW-4.4.1, gdb-7.1.2, eclipse
Re: Альтернативы DatabaseLayer?
Для MySQL это сработает, а для MS SQL нет.SELECT * FROM MYSP(par1, par2) - ели ХП что-то возвращает
Например в OTL можно работать непосредственно с параметрами (http://otl.sourceforge.net/otl3_ex24.htm).
Code::Blocks svn 7932, wxPack 2.8.12.01, TDM MinGW GCC 4.4.1, DatabaseLayer 1.8
Feci, quod potui. Faciant meliora potentes.
-
- Super wx Problem Solver
- Posts: 362
- Joined: Wed Mar 07, 2007 8:10 am
- Location: Russia, Shakhty
Re: Альтернативы DatabaseLayer?
А ты OPENROWSET и OPENQUERY для MS пробовал?
Почему тогда не используешь OTL в связке с wx?
Code: Select all
otl_stream o(1, // buffer size should be equal to 1 in case of stored procedure call
"{call my_proc("
" :A<int,inout>, "//запросы с параметрами есть и в wxDbe и в databaselayer при чем тут ХП вообще
" :B<char[31],out>, "
" :C<char[31],in> "
")}",
// stored procedure call
db // connect object
);
Last edited by borr_1 on Fri Apr 20, 2012 6:53 am, edited 1 time in total.
WinXP SP3, wx-2.8.10, MinGW-4.4.1, gdb-7.1.2, eclipse
Re: Альтернативы DatabaseLayer?
Не пробовал. Примером поделишься?А ты OPENROWSET и OPENQUERY для MS пробовал?
Code::Blocks svn 7932, wxPack 2.8.12.01, TDM MinGW GCC 4.4.1, DatabaseLayer 1.8
Feci, quod potui. Faciant meliora potentes.
-
- Super wx Problem Solver
- Posts: 362
- Joined: Wed Mar 07, 2007 8:10 am
- Location: Russia, Shakhty
Re: Альтернативы DatabaseLayer?
Code: Select all
SELECT *
INTO #tmp FROM
OPENQUERY(YOURSERVERNAME, 'EXEC MyProc @parameters')
или
SELECT * FROM OPENROWSET('SQLNCLI', 'connection string', 'name of sp')
У тебя вопрос про параметризованный запрос или про ХП? Почему не используешь OTL?
WinXP SP3, wx-2.8.10, MinGW-4.4.1, gdb-7.1.2, eclipse
Re: Альтернативы DatabaseLayer?
повторю
У тебя вопрос про параметризованный запрос или про ХП?
Для непонятливых:
Вопрос про использование входных, выходных, входных-выходных параметров ХП.Требуется поддержка параметров INPUT, OUTPUT и INPUT_OUTPUT.
А за пример спасибо.
И правильно. Зачем тогда DatabaseLayer и wxDba, если можно юзать OTL.Почему не используешь OTL?
И вдогонку: DatabaseLayer запрос через MySQL API выполняет в 2-5 раз медленнее, чем через ODBC (вроде должно быть наоборот).
Реальную альтернативу замороженному проекту нашли, можно тему закрывать.
Code::Blocks svn 7932, wxPack 2.8.12.01, TDM MinGW GCC 4.4.1
Feci, quod potui. Faciant meliora potentes.