powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Extended Stored Procedure
4 сообщений из 4, страница 1 из 1
Extended Stored Procedure
    #32005449
Georg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблема следущая:
Процедура не выгружается из памяти, 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 такой проблемы не было...
...
Рейтинг: 0 / 0
Extended Stored Procedure
    #32005829
Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На всякий случай - посмотри, вдруг не SQL Server на ней висит...

http://www.sysinternals.com/ntw2k/freeware/handle.shtml

Глянь до и после XP_MARSH_DBLIB(free)
...
Рейтинг: 0 / 0
Extended Stored Procedure
    #32005880
Николай
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А не подскажете, как написать 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.
И - все... Никакого результата!
...
Рейтинг: 0 / 0
Extended Stored Procedure
    #32005896
Fompro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://www.gvu.newmail.ru/xp.htm
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Extended Stored Procedure
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]