Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Extended Stored Procedure
|
|||
|---|---|---|---|
|
#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 такой проблемы не было... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2001, 09:09 |
|
||
|
Extended Stored Procedure
|
|||
|---|---|---|---|
|
#18+
На всякий случай - посмотри, вдруг не SQL Server на ней висит... http://www.sysinternals.com/ntw2k/freeware/handle.shtml Глянь до и после XP_MARSH_DBLIB(free) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2001, 20:13 |
|
||
|
Extended Stored Procedure
|
|||
|---|---|---|---|
|
#18+
А не подскажете, как написать dll на DELPHI? Пишу примерно такое: library myproc2; uses SysUtils, Classes; {$R *.RES} function xp_myproc(X, Y: Integer): Integer; stdcall; begin if X < Y then result := X else result := Y; end; exports xp_myproc; begin end. Когда запускаю хр - процедуру, то получаю следующее: The command(s) completed successfully. И - все... Никакого результата! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2001, 16:29 |
|
||
|
|

start [/forum/topic.php?fid=46&fpage=3575&tid=1826743]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
37ms |
get topic data: |
12ms |
get forum data: |
4ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
| others: | 258ms |
| total: | 397ms |

| 0 / 0 |
