Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Проблема с использованием DLL на SQL Server 2000
|
|||
|---|---|---|---|
|
#18+
Проблема следущая: Процедура не выгружается из памяти, MSSQL2000. Создаю внешнюю хранимую процедуру: --CPP-- //---------------------- begin of file --------------------------------- //===================================================================== #define DBNTWIN32 #include <windows.h> #include <sqlfront.h> #include <sqldb.h> #include <srv.h> #define MAX_SERVER_ERROR 20000 #define XP_PARAM_ERROR MAX_SERVER_ERROR+1 //###################################################################### ULONG __GetXpVersion() { return ODS_VERSION; } //---------------------------------------------------------------------- void sp_marsh(SRV_PROC* pSrvProc) { DBPROCESS* dbproc; // DBPROCESS handle for the new connection LOGINREC* loginrec; char szBindToken[255]; loginrec = dblogin(); // Set the user name, password, and application name for the remote DBSETLUSER( loginrec, srv_pfield(pSrvProc, SRV_USER, NULL) ); DBSETLPWD( loginrec, srv_pfield(pSrvProc, SRV_PWD, NULL) ); DBSETLAPP (loginrec, "sp_marsh_dblib"); // подключаемся к сероверу... (NULL - локальный) dbproc = dbopen (loginrec, "FORWARD"); dbsetuserdata (dbproc, (VOID*) pSrvProc); // Bind to the clients connection for shared transaction space. srv_getbindtoken (pSrvProc, szBindToken); dbfcmd (dbproc, "exec sp_bindsession \'%s\'", szBindToken); dbsqlexec (dbproc); // посылаем сообщение srv_sendmsg(pSrvProc, SRV_MSG_ERROR, XP_PARAM_ERROR, SRV_INFO, 1, NULL, 0, (DBUSMALLINT) __LINE__, "################ up ############", SRV_NULLTERM); srv_senddone (pSrvProc, SRV_DONE_COUNT | SRV_DONE_MORE, (DBUSMALLINT) 0, 0); // Close the connection to SQL Server. dbclose( dbproc ); dbfreelogin( loginrec ); } //---------------------- end of file --------------------------------- --DEF-- //---------------------- begin of file --------------------------------- LIBRARY XP_MARSH_DBLIB DESCRIPTION 'SQL Server Extended Stored Procedure DLL' EXPORTS sp_marsh __GetXpVersion //---------------------- end of file ----------------------------------- после этого загружаю её скриптом: //---------------------- begin of file --------------------------------- use master sp_addextendedproc 'sp_marsh', 'XP_MARSH_DBLIB.dll' exec sp_marsh //---------------------- end of file ----------------------------------- она грузится прекрасно и выдаёт сообщение .... ################ up ############ .... Теперь пытаюсь выгрузить, чтобы загрузить потом новую версию: //---------------------- begin of file --------------------------------- use master dbcc XP_MARSH_DBLIB(free) //---------------------- end of file ----------------------------------- Выдаёт сообщение об успешном выполнении DBCC.... Но после этого невозможно удалить DLL-файл XP_MARSH_DBLIB.dll, т.к. он "кем-то используется" В MSSQL7.0 такой проблемы не было... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2001, 09:05 |
|
||
|
Проблема с использованием DLL на SQL Server 2000
|
|||
|---|---|---|---|
|
#18+
Я проверил Ваш код. Никаких проблем не возникло. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2001, 23:29 |
|
||
|
Проблема с использованием DLL на SQL Server 2000
|
|||
|---|---|---|---|
|
#18+
Бьюсь с размаху головой об стол уже сутки. Extended SP, успешно работающая на SQL 7.0, на SQL Server 2000 работает иногда (!!!!), через раз, а иногда вообще долго не работает, короче логики никакой. Формат такой: xp_decode @User varchar(50), @Pass varchar(100), @codeBlock binary(12, @returnName varchar(50) OUTPUT, @returnPass varchar(100) OUTPUT Что могло измениться в SQL 2000, что работа процедуры стала от чего-то зависеть. Типы входных и выходных параметров проверял много раз. Может есть какой-либо способ отладки таких процедур (Visual C++) ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2001, 11:51 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32005655&tid=1826780]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
40ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 227ms |
| total: | 349ms |

| 0 / 0 |
