Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 ODSOLE Extended Procedure Библиотека не зарегистрирована.  [new]
nme
Guest
привет всем...
запускаю примерчик из хелпа:

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

-- Create an object.
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

-- Set a property.
EXEC @hr = sp_OASetProperty @object, 'HostName', 'Gizmo'
IF @hr <> 0
BEGIN
EXEC sp_OAGetErrorInfo @object, @src OUT, @desc OUT
SELECT hr=convert(varbinary(4),@hr), Source=@src, Description=@desc
RETURN
END

-- Get a property using an output parameter.
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

-- Get a property using a result set.
EXEC @hr = sp_OAGetProperty @object, 'HostName'
IF @hr <> 0
BEGIN
EXEC sp_OAGetErrorInfo @object, @src OUT, @desc OUT
SELECT hr=convert(varbinary(4),@hr), Source=@src, Description=@desc
RETURN
END

-- Get a property by calling the method.
EXEC @hr = sp_OAMethod @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

-- Call a method.
EXEC @hr = sp_OAMethod @object, 'Connect', NULL, 'my_server', 'my_login', 'my_password'
IF @hr <> 0
BEGIN
EXEC sp_OAGetErrorInfo @object, @src OUT, @desc OUT
SELECT hr=convert(varbinary(4),@hr), Source=@src, Description=@desc
RETURN
END

-- Call a method that returns a value.
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

-- Destroy the object.
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

выскакивает ошибка на вызове sp_OASetProperty, сразу после create :
0x8002801D ODSOLE Extended Procedure Библиотека не зарегистрирована.

кто знает в чем тут дело?!
пробовала перерегистрить системные процедуры... что-то не помогло...
никто не сталкивался?
26 июн 03, 13:53    [242695]     Ответить | Цитировать Сообщить модератору
 Re: ODSOLE Extended Procedure Библиотека не зарегистрирована.  [new]
jimmers
Member

Откуда: Санкт-Петербург - New York City
Сообщений: 5069
А Вы уверены, что падает не после sp_OACreate?

Почему бы не проиграть на машине с SQL Server'ом VB Script:


Option Explicit
Dim obSQLDMO
Set obSQLDMO = CreateObject("SQLDMO.SQLServer")
obSQLDMO.HostName = "Gizmo"
...


и привести итоги его исполнения
26 июн 03, 14:03    [242713]     Ответить | Цитировать Сообщить модератору
 Re: ODSOLE Extended Procedure Библиотека не зарегистрирована.  [new]
nme
Guest
ну если верить сообщениям об ошибке, то именно второй запрос ее и выводит..
а VB я не знаю..(
я на сях пишу...
26 июн 03, 14:08    [242723]     Ответить | Цитировать Сообщить модератору
 Re: ODSOLE Extended Procedure Библиотека не зарегистрирована.  [new]
ziktuw
Member

Откуда:
Сообщений: 3552
MSDE установлен? Надо ставить клиента MSSQL, который включает SQL-DMO
26 июн 03, 14:44    [242829]     Ответить | Цитировать Сообщить модератору
 Re: ODSOLE Extended Procedure Библиотека не зарегистрирована.  [new]
nme
Guest
это как это? разве на самом сервере еще нужно что-то доустанавливать или запускать чтоб выполнить примерчик?
26 июн 03, 15:26    [242973]     Ответить | Цитировать Сообщить модератору
 Re: ODSOLE Extended Procedure Библиотека не зарегистрирована.  [new]
ziktuw
Member

Откуда:
Сообщений: 3552
Да, если примерчик запускает внешние приблуды, как в данном случае
26 июн 03, 15:27    [242977]     Ответить | Цитировать Сообщить модератору
 Re: ODSOLE Extended Procedure Библиотека не зарегистрирована.  [new]
nme
Guest
to Dancov
спасибо, заработало..))
кстати, раз уж завязался такой приятный разговор..)
у меня вообще то стояла задача о дублировании базы данных,
экспорт не катит, бо сервер далеко и тянуть напрямую тяжко..
решили реализовать в два шага, генерация скрипта создания объектов бд и потом через bcp данные в файл, таким образом можно пересылать файлы небольшими партиями...
a dmo нужно было для вящего удобства, чтоб генерацию и скрипта и файлов можно было запихать в однц процедуру..
есть еще варианты? оптимальней?
26 июн 03, 15:54    [243060]     Ответить | Цитировать Сообщить модератору
 Re: ODSOLE Extended Procedure Библиотека не зарегистрирована.  [new]
ziktuw
Member

Откуда:
Сообщений: 3552
Дня через 2-3 будет готова бета-версия тулзы (утилита командной строки, чтобы можно было использовать в скриптах), которая сливает данные в xml-файл и соответственно, заливает обратно. Я думаю, это будет пользительно для перетаскивания данных в оффлайне когда бекап невозможен по причине разных кодовых страниц баз, а также в случаях, когда данные из sql2000 надо перетащить в sql7.0 в условиях того же оффлайн. А по генерации скрипта базы есть уже готовая консольная утилита в составе mssql2000 - scptxfr.exe
26 июн 03, 16:34    [243170]     Ответить | Цитировать Сообщить модератору
 Re: ODSOLE Extended Procedure Библиотека не зарегистрирована.  [new]
nMe
Member

Откуда:
Сообщений: 5
ого, я подозревала что должно быть что-то такое! тока вот одна вещь огорчает
/P - Password to use for 'sa'. Note that login ID is always 'sa'.
или
/I - Use integrated security.

первое мне не подходит, а второе как я понимаю виндоуз аутентификация, что тоже не радует, все так?
26 июн 03, 16:51    [243202]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: ODSOLE Extended Procedure Библиотека не зарегистрирована.  [new]
1ivan1
Member

Откуда:
Сообщений: 1
возможно, проблема с правами пользователей. в WinXP Pro помогает:

http://blogs.msdn.com/astebner/archive/2006/09/04/739820.aspx

How to download and run SubInACL

Here are some steps that can be used to download and run the SubInACL tool to repair file and registry permissions that are often needed to successfully install programs on Windows, particularly for MSI-based (Windows Installer) setups:
Download the SubInACL tool and install it. By default it will install to c:\Program Files\Windows Resource Kits\Tools
If you are running Windows Vista, click on the Start menu, choose All Programs, then Accessories, then right-click on the item named Command Prompt and choose Run as administrator
If you are running an OS other than Windows Vista, go to the Start menu, choose Run, type cmd and click OK
In the cmd prompt, type notepad reset.cmd and click yes to open Notepad.exe and create a new text file named reset.cmd
Copy and paste the following contents into reset.cmd (or download it from this location on my file server and rename it from reset.cmd.txt to reset.cmd):



=============================================================================
cd /d "%programfiles%\Windows Resource Kits\Tools"

subinacl /subkeyreg HKEY_CURRENT_USER /grant=administrators=f /grant=system=f /grant=restricted=r /grant=YOURUSERNAME=f /setowner=administrators > %temp%\subinacl_output.txt
subinacl /keyreg HKEY_CURRENT_USER /grant=administrators=f /grant=system=f /grant=restricted=r /grant=YOURUSERNAME=f /setowner=administrators >> %temp%\subinacl_output.txt

subinacl /subkeyreg HKEY_LOCAL_MACHINE /grant=administrators=f /grant=system=f /grant=users=r /grant=everyone=r /grant=restricted=r /setowner=administrators >> %temp%\subinacl_output.txt
subinacl /keyreg HKEY_LOCAL_MACHINE /grant=administrators=f /grant=system=f /grant=users=r /grant=everyone=r /grant=restricted=r /setowner=administrators >> %temp%\subinacl_output.txt

subinacl /subkeyreg HKEY_CLASSES_ROOT /grant=administrators=f /grant=system=f /grant=users=r /setowner=administrators >> %temp%\subinacl_output.txt
subinacl /keyreg HKEY_CLASSES_ROOT /grant=administrators=f /grant=system=f /grant=users=r /setowner=administrators >> %temp%\subinacl_output.txt


subinacl /subdirectories %programfiles%\ /grant=administrators=f /grant=system=f /grant=users=e >> %temp%\subinacl_output.txt

subinacl /subdirectories %windir%\ /grant=administrators=f /grant=system=f /grant=users=e >> %temp%\subinacl_output.txt
============================================================================



Change the values named YOURUSERNAME to be the Windows user account that you are logged in with.

Note: The YOURUSERNAME value should match the name of your user folder at c:\Documents and Settings (or c:\users on Windows Vista and higher). You can also find the value to use for YOURUSERNAME by launching Task Manager and looking at the user name listed in the User Name column of the Processes tab.

Save and close reset.cmd.
In the cmd prompt, type reset.cmd and press enter to run the SubInACL tool. This tool will take several minutes to run, and it requires that the user account you are using has administrator privileges on the system. This is why it is necessary to run it from an elevated cmd prompt on Windows Vista. Step 2 above can be used to start an elevated cmd prompt on Windows Vista.
After reset.cmd completes, try to install the product that previously failed to install correctly on your system.

Note: There are a couple of scenarios where installing or running SubInAcl can fail. For example, some non-English versions of Windows have the name of the Administrators group translated to another language, and the command lines listed above will fail in that case. I have posted workarounds for the issues that I know of in this separate blog post.

Also note: Running the above command lines will cause SubInAcl to create a log file named %temp%\subinacl_output.txt. If you see any errors reported in the cmd prompt after running SubInAcl, you can look in this log file for more detailed information about what file(s), folder(s) or registry value(s) are causing the errors. To open this log file, you can click on the Start menu, choose Run, type notepad %temp%\subinacl_output.txt and click OK.

When looking at this log file, you may see some errors reported with error code 5. That error code means Access Denied, and it is typically caused by Windows or some other program running on your system that is holding files, folders or registry values in use so that SubInAcl is unable to update the permissions for them. Most of the time, that type of error in the SubInAcl output can be safely ignored, but you may need to try to reboot and then manually fix the permissions for these files, folders or registry keys as a workaround.
23 июл 09, 13:52    [7450971]     Ответить | Цитировать Сообщить модератору
 Re: ODSOLE Extended Procedure Библиотека не зарегистрирована.  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
1ivan1,

Вы дату последнего поста видели? :)
23 июл 09, 13:54    [7450983]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить