USE lin2db
GO
SELECT s.name, p.name, p.type_desc, ps.execution_count
FROM sys.dm_exec_procedure_stats AS ps
INNER JOIN sys.procedures AS p ON ps.[object_id] = p.[object_id]
INNER JOIN sys.schemas AS s ON p.[schema_id] = s.[schema_id]
WHERE ps.database_id = DB_ID('lin2db');
GO
#ragebait ...вставлю свои 50 копееквот поэтому:
Посмотреть вложение 93277
# https://taskfile.dev/ | https://github.com/casey/just | makefile
# task db:bkp 👇
docker exec pg-db pg_dump -U postgres -d postgres -Fc >backup-$(date+%Y-%m-%d).tar.gz
тогда может с l2 сервера начать, а не с бд?)Есть 2 причины, первая - геморрой с установкой MSSQL на Ubuntu/Debian, вторая - а почему бы и нет?
Да и вообще - задумываюсь не начать ли заново пилить серв под Linux хотя бы потому что там есть epoll, просто чтоб было, только вот в реверсинге я - балерун. А с расшаренными сорсами от Java с пакетами какая-то дичь творится, тестил на клиенте от lineager - вроде бы и работает, но - недолго, критует по причине несоответствия пакетов, хотя с темже клиентом спокойно играл на PTS draconic.ru у Abys и сборке PTS C4 Storm.
Как-то так...
felex67, если есть время и большое желание, то конечно можно попробовать. Странно что в Postgresql нет того, что есть в MySQL, я думал она функциональнее MySQL
Для старта с бд разобраться нужно, а там - как пойдёт. Жить тоже на что-то нужно. Опять меня накажут за оверпостинг =)тогда может с l2 сервера начать, а не с бд?)
docker run -e "ACCEPT_EULA=Y" \
-e "MSSQL_SA_PASSWORD=YourStrong!Pass123" \
-p 1433:1433 \
--name mssql \
-d mcr.microsoft.com/mssql/server:2019-latest
ALTER DATABASE mmsql
SET COMPATIBILITY_LEVEL = 80;
Весь функционал уходит в процедуры, в бинарниках кешед ни одного селекта инсерта или апдейта нет, всё в процедурах, но вот AuthD - работает с базой прямыми запросами, единственная процедура которую он вызывает - exec ap_SLog, и он без проблем работает с MySQL и PostgreSQL. Вся загвоздка в Кэшеде, самому L2Server вообще по-барабану на базу, он юзает кэшед.---
По теме
Во первых не факт что у вас технически получится, изза изменений в API читайте блоги, ИИ и документацию всеравно там будут различия в работе который сам ПТС заставит не правильно работать.
Без доступа к исходникам чтоб поправить имплементацию советую не начинать.
Другой компот взять сборку явы (как самый простой варик) и подогнать её под работы с оффициальной ДБ перенесенной на ваш MySQL, why not? Там много функционала уходит в процедуры и часть нагрузки ЦПУ возьмет на себя вторая машина. Если деплоить всё на одной машине, что яву что птс смысла в переносе кроме не вижу.
Я хотел попробовать использовать докер вместо всей мишуры с установкой легаси говна и виртуальной машины изза сранной зависимости от платформы ОС.
Вы не можете просматривать ссылку пожалуйста воспользуйтесь следующими ссылками Вход или Регистрацияв compat mode
Bash:docker run -e "ACCEPT_EULA=Y" \ -e "MSSQL_SA_PASSWORD=YourStrong!Pass123" \ -p 1433:1433 \ --name mssql \ -d mcr.microsoft.com/mssql/server:2019-latest
SQL:ALTER DATABASE mmsql SET COMPATIBILITY_LEVEL = 80;
DB Schema я успешно запушал, но сервера которые нуждались в SQL Server Management Studio / ODBC для коннекта, чёт я не додумался еще как обойти без Windows Server
ну само собой, ведь миграцию ПТС на Linux и MySQL, ну вообще никак нельзя назвать и близко гемороем!геморрой с установкой MSSQL на Ubuntu/Debian
Ты ни в чем из описанного нихyя не понимаешь, почему ты рот открываешь вообще?миграция птс на линух без декомпила и получения годных исходников - это уже сильно извращенное занятие с нулевым стратегическим потенциалом. если делать нех - то лучше заняться получением птс исходов, тем более несколько людей/команд уже смогли в это. более того, пришли к этому через долгий и бестолковый путь частичных экстендеров и инжекта. а по мне лучше не выебываться, и сделать грамотный форк с оптимизацией максимальной какой-нибудь существующей ява-сборки с исходами. и вот его уже по желанию мигрировать ни линух.
я не помню что это за auth у меня, но там не одна хранимка =) и самая первая которая при инициализации коннекта вызывается это ap_SetServerStatusВесь функционал уходит в процедуры, в бинарниках кешед ни одного селекта инсерта или апдейта нет, всё в процедурах, но вот AuthD - работает с базой прямыми запросами, единственная процедура которую он вызывает - exec ap_SLog, и он без проблем работает с MySQL и PostgreSQL. Вся загвоздка в Кэшеде, самому L2Server вообще по-барабану на базу, он юзает кэшед.
Что касается ODBC под Linux - wine с этой задачей спокойно справляется, под IoS не могу сказать. В моём случае всё упирается в то что я с ассемблером не в ладах совсем, для меня декомпил как дремучий лес
П.С.: Не хочу имплементировать сервер на Java ни под каким соусом.
вот всё что "CALL" - это не про MSSQL, у него вызов идет через 'exec', и с вопросами также(?), вполне возможно что это просто описания для конструктора объектов, или для других ODBC. Когда я запустил подменив файловый дсн на mysql AuthD спокойно стартанул и прочитал данные о сервере и пользователе, запустив меня с паролем до момента выбора сервера, а вот CacheD начал сразу материться что ошибка вызова процедуры(хотя бы потому что в отличии от lin2db, в lin2world они еще не написаны).я не помню что это за auth у меня, но там не одна хранимка =) и самая первая которая при инициализации коннекта вызывается это ap_SetServerStatus
Посмотреть вложение 93309
Пока что не могу судить точно ли оно так, но то что он не подключается - 100%. тест при создании DSN проходит успешно. однако в гидре я заметил что как-раз где-то в этом районе AuthD запрашивает окружение и указывает тип объекта подключения(при odbc_SetAttr...(ODBC_ATTRIBUTE.. == 0x2)), вот как раз-таки ODBC_ATTRIBUTE.. == 0x2. Возможно тут и кроется загвоздка, вполне реальна ситуация что данные методы расходятся у разных баз данных, хотя судя по названию все эти методы должны делать одно и тоже раз это "OpenConnectivity". После успешного создания подключения AuthD пихает его в std::vector.Да вроде нет там какой то жесткой привязки, в реестр сохраняется путь к DSN и логин с паролем.
Посмотреть вложение 93333
при создании подключения тоже вроде ничего такого..
Посмотреть вложение 93334
/* bool __cdecl BlowFishDecryptPacket(unsigned char *,__int64 &,int) */
bool __cdecl BlowFishDecryptPacket(uchar *pkgBody,__int64 *param_2,int pkgSize)
{
bool result;
int i;
uint checksumm;
if ((pkgSize & 7U) == 0) {
_BlowfishDecrypt((uint *)pkgBody,pkgSize);
checksumm = 0;
for (i = 0; i < pkgSize + -8 >> 2; i = i + 1) {
checksumm = checksumm ^ *(uint *)(pkgBody + i * 4);
}
if (*(uint *)(pkgBody + i * 4) == checksumm) {
result = true;
}
else {
result = false;
}
}
else {
result = false;
}
return result;
}
Загрузил, но пока не пробовал, как будет время - гляну. Через wine в Debian не коннектится вообще, MSSQL прекрасно встал, а эти никак не хотят работать. Уже что только не пробовал. Видимо - придётся таки прям под Linux переписывать AuthD и CacheD =Dа кстати, не попробовал исходники Мастера Томы ? там же был authD, он так же себя ведёт?
Планы у вас интересные, я так смотрюпрям под Linux переписывать CacheD
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?