Archive for the Płatnik Category

Sep 2 2023

MSSQL: User, group, or role ‘platnik’ already exists in the current database.

lists logins and incorrect SIDs
USE <platnik_db>
GO
EXEC sp_change_users_login 'Report'
GO

Then start SQL
USE <platnik_db>
GO
EXEC sp_change_users_login 'Auto_Fix','<user_name>',NULL, '<password>'
GO

Jun 24 2023

Migracja bazy danych Płatnik z Access 32 bit na MS SQL Server

Instalujemy po kolei

Microsoft Visual C++ Redistributable

Microsoft OLE DB Driver 19 for SQL Server (x64)

Microsoft Access 2016 Runtime

Microsoft SQL Server Migration Assistant (SSMA) for Access

SQL Server Management Studio (SSMS)

Uruchamiamy Migration Assistant (SSMA) for Access

Pomijamy Kreatora

Tools -> Default Project Settings

Zmieniamy “Add timestamp column” na Never

Tools -> Project Settings -> Type Mapping

zmieniamy

date na datetimetext[*..*]
text[*..*] na varchar[*]
memo na varchar[max]

Odpalamy kreatora, wybieramy bazę źródłową <nazwa>.mdb bazę docelową na serwerze MSSQL i wykonujemy konwersję.

 

Uruchom SQL Server Management Studio (SSMS) i usuń ograniczenia dotyczące zerowej długości wszystkich pól

polecenie poniżej wyświetli kwerendę która to zrobi

SELECT
ctu.TABLE_CATALOG
,ctu.TABLE_SCHEMA
,ctu.TABLE_NAME
,ctu.CONSTRAINT_CATALOG
,ctu.CONSTRAINT_SCHEMA
,ctu.CONSTRAINT_NAME
,cc.CHECK_CLAUSE
,[drop_statement]= 'ALTER TABLE [' + ctu.TABLE_CATALOG + '].['+ ctu.TABLE_SCHEMA+ '].[' + ctu.TABLE_NAME + '] DROP CONSTRAINT [' + ctu.CONSTRAINT_NAME +'];'
FROM [platnik].[INFORMATION_SCHEMA].[CONSTRAINT_TABLE_USAGE] ctu
join [platnik].[INFORMATION_SCHEMA].[CHECK_CONSTRAINTS] cc on ctu.CONSTRAINT_NAME=cc.CONSTRAINT_NAME


 

Tworzenie konta dla Płatnika

Uruchom SQL Server Management Studio (SSMS)

Utwórz konto dla bazy docelowej

Security -> Logins

Przejdź do User Mapping i ustaw usera jako właściciela bazy

 


Podłączanie Płatnika

Podłączamy się pod serwer MSSQL używając MSSQL Server Authentication, podając usera i hasło

Jeśli dostaniemy błąd

to zmieniamy sterownik połączenia z MSOLEDBSQL na SQLOLEDB (w moim przypadku musiałem tak zrobić pomimo migracji na MSSQL 2014 Standard)

 

Program accesspassview do odzyskiwania hasła do pliku mdb