Перейти к содержимому

SN00PY

SN00PY

Регистрация: 06.12.2006, 13:48
Offline Активность: 18.02.2016, 22:44
-----

В теме: классы для MSSQL2000: Extended stored procedure

14.12.2006, 11:03:43

Вобщем люди, ответ найдет пусть и несколько в ином виде
http://planetsourcec...o...32&lngWId=5

В теме: классы для MSSQL2000: Extended stored procedure

07.12.2006, 11:33:00


Привет, а можно пример?


Вот пример использования COM-объектов из SQL Server.

DECLARE @object int
DECLARE @hr int
DECLARE @property varchar(255)
DECLARE @return varchar(255)
DECLARE @src varchar(255), @desc varchar(255)

-- Создаем OLE объект
EXEC @hr = sp_OACreate 'SQLDMO.SQLServer', @object OUT
IF @hr <> 0
BEGIN
   EXEC sp_OAGetErrorInfo @object, @src OUT, @desc OUT 
   SELECT hr=convert(varbinary(4),@hr), Source=@src, Description=@desc
	RETURN
END

-- Устанавливаем значенеи свойства HostName для подключения к серверу.
EXEC @hr = sp_OASetProperty @object, 'HostName', 'my_host'
IF @hr <> 0
BEGIN
   EXEC sp_OAGetErrorInfo @object, @src OUT, @desc OUT 
   SELECT hr=convert(varbinary(4),@hr), Source=@src, Description=@desc
	RETURN
END

-- Устанваливаем признак подключения к серверу с помощью интегрированной безопасности Windows.
EXEC @hr = sp_OASetProperty @object, 'LoginSecure', 1
IF @hr <> 0
BEGIN
   EXEC sp_OAGetErrorInfo @object, @src OUT, @desc OUT 
   SELECT hr=convert(varbinary(4),@hr), Source=@src, Description=@desc
	RETURN
END

-- Получаем значение свойства.
EXEC @hr = sp_OAGetProperty @object, 'HostName', @property OUT
IF @hr <> 0
BEGIN
   EXEC sp_OAGetErrorInfo @object, @src OUT, @desc OUT 
   SELECT hr=convert(varbinary(4),@hr), Source=@src, Description=@desc
	RETURN
END
PRINT @property

-- вызываем метод без параметров.
EXEC @hr = sp_OAMethod @object, 'Connect', NULL, 'server_name', NULL, NULL
IF @hr <> 0
BEGIN
   EXEC sp_OAGetErrorInfo @object, @src OUT, @desc OUT 
   SELECT hr=convert(varbinary(4),@hr), Source=@src, Description=@desc
	RETURN
END

-- вызываем метод возвращающий значения.
EXEC @hr = sp_OAMethod @object, 'VerifyConnection', @return OUT
IF @hr <> 0
BEGIN
   EXEC sp_OAGetErrorInfo @object, @src OUT, @desc OUT 
   SELECT hr=convert(varbinary(4),@hr), Source=@src, Description=@desc
	RETURN
END
PRINT @return

-- Освобождаем COM-объект.
EXEC @hr = sp_OADestroy @object
IF @hr <> 0
BEGIN
   EXEC sp_OAGetErrorInfo @object, @src OUT, @desc OUT 
   SELECT hr=convert(varbinary(4),@hr), Source=@src, Description=@desc
	RETURN
END

Вышеприведенный код аналогичен следующему коду на VB.
Dim server as SQLDMO.SQLServer
Dim connectionValid as Boolean

server = new SQLDMO.SQLServer
server.LoginSecure=True
server.HostName='my_host'
server.Connect 'server_name', Nothing, Nothing
connectionValid  = server.VerifyConnection

Ужас, проще написать exSP
exSP

В теме: Посоветуйте бесплатную СУБД

07.12.2006, 09:21:07

2Gloomy
Умеет всё, что нужно(!), ибо ни одна СУБД не умеет всего что может предложить рынок данного ПО.
Так что под словами "умеет всё" следует понимать в первую очередь те возможности, которые стоят "в первых рядах" необходимого и востребованого.
Что же до CAL, то тута ответ один -хочешь юзать, юзай могу поделится, всё запускается без каких либо ключей и проблем. А если ожидаешь проверки, то конечно - лучше купить или на худой конец, поставить MSDE

В теме: классы для MSSQL2000: Extended stored procedure

07.12.2006, 09:17:59

Microsoft не рпедоставлял примеры создания расширенных хранимых процедур для MSSQL 2000 на VB. Едлинственные которые у них есть - они с использованием MSVC++. расширеннные хранимые процедуре желательно писать все таки на C++. Если это невозможно и обязательно осуществить какие-то действия вне базы и при этом надо использовать VB могу посвоветовать создать COM-объект и вызывать его методы из SQL Server.

Привет, а можно пример?

В теме: Посоветуйте бесплатную СУБД

06.12.2006, 13:56:41

А я могу посоветовать MSSQL2005, не путать с Express редакцией. MSSQL2005 - как и его укороченый собрат Express умеет всё и не просит ни каких ключей. А Лицензия это тока формальность, если она тебя не волнует, то можешь ставить MSSQL нез проблем. 2005 в отличии от 2000 почему то не просит вообще ни чего из веще на акторизацию

Размещение рекламы на сайте     Предложения о сотрудничестве     Служба поддержки пользователей

© 2011-2022 vse.kz. При любом использовании материалов Форума ссылка на vse.kz обязательна.