|
|
|
LInux + MSSQL + FreeTSD + UnixODBC
|
|||
|---|---|---|---|
|
#18+
Искал по всему форуму, ответа не нашел, может кто держит информацию в голове.. Дано: Slackware 12, FreeTDS 0.82 скомпиленный с --with-tdsver=8.0, UnixODBC . Все настроено, работает. Но.. есть проблема, заключающаяся в том, что UnixODBC за каким-то чертом оборачивает исходный запрос к MS SQL типа "SELECT TOP 1 User FROM Users" в нечто подобное "set sb_cursor [SELECT TOP 1 User FROM Users] as @p1" . В результате не удается исполнять вложенные процедуры в исходном запросе. Проще говоря, когда коннектимся из tsql к серваку и исполняем этот запрос - трассировщик определяет его как SQL, а если из isql (через unixodbc), то он для трассировщика уже RPC и обернут в курсоры.. Может быть, знает кто, как избавиться от них?) Нагугливал, что вроде как можно заставить unixodbc при использовании драйвера выбирать, использовать курсоры или нет, но не нигде не нашел точных примеров, где и в каком формате указывать эти директивы. Да и значения там не совсем те, что нужно - использовать если нужно, использовать, по-умолчанию(использовать). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2010, 19:09 |
|
||
|
LInux + MSSQL + FreeTSD + UnixODBC
|
|||
|---|---|---|---|
|
#18+
и, да, раньше стояла центос, с неизвестно как настроенным freetds и unixodbc, но все работало без этих курсоров... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2010, 19:11 |
|
||
|
LInux + MSSQL + FreeTSD + UnixODBC
|
|||
|---|---|---|---|
|
#18+
On 11.10.2010 20:09, demount wrote: > FROM Users" в нечто подобное "set sb_cursor [SELECT TOP 1 User FROM Users] as > @p1" . В результате не удается исполнять вложенные процедуры в исходном запросе. > Это надо вырубить использование курсоров через ODBC API. Что-то типа SetCursorType(FORWARD_ONLY) > заставить unixodbc при использовании драйвера выбирать, использовать курсоры или > нет, но не нигде не нашел точных примеров, где и в каком формате указывать эти > директивы. Попробуй почитать именно во FreeTDS про это, может быть там есть какие-то параметры дополнительные. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2010, 19:27 |
|
||
|
LInux + MSSQL + FreeTSD + UnixODBC
|
|||
|---|---|---|---|
|
#18+
MasterZiv, FORWARD_ONLY - отличная идея, мысль мелькала насчет них, сейчас курил мсдн, проблема в том, что не уверен как это сделать правильно)) odbc.ini Код: plaintext 1. 2. 3. 4. 5. 6. 7. Если раскомментить строчку DMConnAttr, то в логе odbc будет: Код: plaintext 1. Строка же DMStmtAttr в логе никаких изменений не дает. Одна и та же строчка : Код: plaintext 1. 2. 3. 4. 5. 6. 7. Не вкурить, куда директивы и какие втыкать) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2010, 19:55 |
|
||
|
LInux + MSSQL + FreeTSD + UnixODBC
|
|||
|---|---|---|---|
|
#18+
On 11.10.2010 20:55, demount wrote: > FORWARD_ONLY - отличная идея, мысль мелькала насчет них, сейчас курил мсдн, Навскидку не скажу. Не знаю. Ищи сам. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2010, 20:34 |
|
||
|
LInux + MSSQL + FreeTSD + UnixODBC
|
|||
|---|---|---|---|
|
#18+
MasterZiv, решилось немного иначе.. Установкой директивы SQL_CUR_USE_ODBC. В частности в функции php подключения odbc_connect('DSN', 'user', 'password', SQL_CUR_USE_ODBC); Сам в шоке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2010, 13:53 |
|
||
|
LInux + MSSQL + FreeTSD + UnixODBC
|
|||
|---|---|---|---|
|
#18+
On 12.10.2010 14:53, demount wrote: > решилось немного иначе.. Установкой директивы SQL_CUR_USE_ODBC. В частности в > функции php подключения odbc_connect('DSN', 'user', 'password', SQL_CUR_USE_ODBC); Это типа "использовать курсоры ODBC" ? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2010, 14:05 |
|
||
|
|

start [/forum/topic.php?fid=25&gotonew=1&tid=1484676]: |
0ms |
get settings: |
8ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
162ms |
get topic data: |
8ms |
get first new msg: |
4ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 213ms |
| total: | 460ms |

| 0 / 0 |
