Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Sybase ASE 15 + external DLL / 10 сообщений из 10, страница 1 из 1
31.12.2010, 10:20
    #37043479
Mikle83
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Sybase ASE 15 + external DLL
Всех с наступающим!

Возник вопрос в последний день этого года:
есть внешняя библиотека, в рамках которой организован некий механизм шифрования - на вход идут две строки, на выходе хеш.

заголовок вызываемой функции имеет вид:
Код: plaintext
extern "C" __declspec(dllexport) BYTE* __stdcall descrypt(BYTE *OneStr, BYTE *NextStr); 

подключаю ее в ASE -но при вызове получаю ошибку:
Код: plaintext
"Extended stored procedure .... has bad linkage (should be __stdcall)" 

Вопрос - как так бэд линкадже??? Ведь в заголовке явно указано __stdcall...

Предупреждая вопросы - реализовать на стороне сервера нет возомжности, т.к. это "болванка" функции и библы, в боевой эксплуатации библиотека будет заменена (но вызовы остануться неизменными - по спецификации параметров и т.п.).

P.S.: все имена функций и события - вымышлены, любое совпадение с реальными данными - чистая случайность :)
...
Рейтинг: 0 / 0
08.01.2011, 12:49
    #37049022
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Sybase ASE 15 + external DLL
"реализовать на стороне сервера нет возомжности" -- а где же ты подключаешь эту библиотеку и каким образом ?
...
Рейтинг: 0 / 0
11.01.2011, 08:45
    #37051884
GooSergey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Sybase ASE 15 + external DLL
При сборке библиотеки попробую def файл написать, тут ест пример:
msdn.microsoft.com/en-us/library/d91k01sh(v=vs.80).aspx
...
Рейтинг: 0 / 0
11.01.2011, 09:21
    #37051912
Mikle83
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Sybase ASE 15 + external DLL
Всем привет! Всех с прошедшими! :)
MasterZiv"реализовать на стороне сервера нет возомжности" -- а где же ты подключаешь эту библиотеку и каким образом ?

Имеется ввиду, что функционал библиотеки реализовать на стороне сервера не получится.
Библиотека подключается через создание ESP:

Код: plaintext
1.
CREATE PROCEDURE .descrypt
AS EXTERNAL NAME 'c:\descrypt.dll'
...
Рейтинг: 0 / 0
11.01.2011, 12:21
    #37052180
Mikle83
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Sybase ASE 15 + external DLL
GooSergeyПри сборке библиотеки попробую def файл написать, тут ест пример:
msdn.microsoft.com/en-us/library/d91k01sh(v=vs.80).aspx

Попробовал... Вообще странная фигня...
Сайбез библиотеку попросту не видит...
Код: plaintext
"Could not load library.... The specified module could not be found."

При этом библиотека нормально просматривается через tdump и подключается из приложений...
...
Рейтинг: 0 / 0
11.01.2011, 13:34
    #37052377
Dim2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Sybase ASE 15 + external DLL
11.01.2011 12:21, Mikle83 пишет:

> "Could not load library.... The specified module could not be found."

Первое, что приходит в голову:

1) у DLL не та битность, что у сервера;
2) не получается загрузить какие-то DLL, от которых зависит твоя DLL.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
11.01.2011, 14:04
    #37052472
Mikle83
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Sybase ASE 15 + external DLL
Dim2000Первое, что приходит в голову:
1) у DLL не та битность, что у сервера;



Сервак 64-битный, длл формируется под 32, но, есть ощущение, что 64битный сервак должен все правильно понимать...

Dim20002) не получается загрузить какие-то DLL, от которых зависит твоя DLL.

попробовал закинуть все библиотеки, которые пользует библа, вплоть до системных...
Не помогло :(
...
Рейтинг: 0 / 0
11.01.2011, 14:44
    #37052590
Dim2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Sybase ASE 15 + external DLL
11.01.2011 14:04, Mikle83 пишет:

> Сервак 64-битный, длл формируется под 32

Не будет работать:

http://stackoverflow.com/questions/2804818/ways-to-access-a-32bit-dll-from-a-64bit-exe
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
11.01.2011, 16:05
    #37052824
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Sybase ASE 15 + external DLL
А разве так вообще можно делать ?
Я считал всё время, что для того, чтобы xp_ написать, нужно иметь библиотеку open server от ASE и на ней писать расширенную хранимую процедуру. И только она может быть вызвана из XP сервера.

Разве я не прав ?
...
Рейтинг: 0 / 0
11.01.2011, 18:28
    #37053209
Mikle83
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Sybase ASE 15 + external DLL
MasterZiv,

как минимум мануал от сайбеза позволяет делать именно так... через
Код: plaintext
Create procedure as external name
...
Рейтинг: 0 / 0
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Sybase ASE 15 + external DLL / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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