violation of PRIMARY or UNIQUE KEY
- это означает, что вы пытаетесь вставить строку в таблицу, которая уже существует.
в вашем конкретном случае пользователь (с помощью плагина SRP) с таким именем уже создан, и вы не можете создать двух пользователей (с помощью одного и того же плагина) с одинаковым именем.
Проверка существующих пользователей: https://firebirdsql.org/file/documentation/release_notes/html/en/3_0/rnfb30-pseudo-users.html
select * from sec$users
Затем либо drop user
перед повторным созданием его, либо установите новое, еще не использованное имя пользователя
P.S. обратите внимание, что по умолчанию пользователи создаются в экземпляре сервера, поэтому вы не создаете одного и того же пользователя для каждой базы данных снова и снова. Как только вы создали пользователя - он существует на сервере для всех баз данных там. Это конфигурация по умолчанию, хотя ее можно изменить с помощью файла databases.conf
в Firebird. К сожалению, вы не можете изменить эту конфигурацию при помощи строки подключения вашего приложения во время создания новых баз данных.
P.P.S. лично я бы не создавал команду базы данных по команде, а скорее восстановил бы готовую базу данных из предварительно подготовленного файла резервной копии. YMMV.