PC SOFT
ONLINE REPOSITORY
FOR WINDEVWEBDEV AND WINDEV MOBILE

Home |  | Sign in | English US
CreateDB
Published by Boller
- Unclassified
New features



Description
Segue abaixo o utilitário exemplo para criar base de dados HFSQL, sem ter que passar o usuario e senha do Supervisor ou Admin do Hfsql. Assim pode criar o banco sem ter que pedir para o Administrador, como é o nosso caso aqui na Wx Soluções.

Exemplo pode ser feito facilmente, só usar esse codigo e criar as tabelas envolvidas.

// Summary: <specify the procedure action>
// Syntax:
//[ <Result> = ] ws_create_database (<Token>, <Nome>, <Email>, <Telefone>, <DNS_Ip>, <Porta>, <Database>, <User>, <Password>)
//
// Parameters:
// Token:
// Nome: <specify the role of Nome>
// Email: <specify the role of Email>
// Telefone: <specify the role of Telefone>
// DNS_Ip: <specify the role of database>
// Porta: <specify the role of Usermaster>
// Database: <specify the role of PasswordMaster>
// User: <specify the role of User>
// Password: <specify the role of Password>

PROCEDURE ws_create_database(Token,Nome,
Email,
Telefone,
DNS_Ip,
Porta,
Database,
User,
Password)

ok is string

DbUserCreate is boolean = False

HReset(T001_Database)
IF HReadSeek(T001_Database,T001_Database,Database,hIdentical) = True THEN
Info("Esse banco de dados já foi criado!")
ELSE

IF Token <> "" AND Token = "abre-ti-cesamo" AND Database <> "" AND Nome <> "" AND Telefone <> ""


Myconn is Connection
Myconn..Server = DNS_Ip +":"+ Porta
Myconn..User = Usermaster
Myconn..Password = PasswordMaster
Myconn..Database = Database
Myconn..Provider = hAccessHFClientServer

HDescribeConnection(Myconn,
Usermaster,
PasswordMaster,
DNS_Ip +":"+ Porta,
Database,
hAccessHFClientServer,
hORead)

IF HOpenConnection(Myconn) = True THEN

IF HChangeConnection("*",Myconn) = True THEN

HModifyStructure("*")

HCreationIfNotFound("*")

//create db
ok = "Database criada com Sucesso!"

DbUserCreate = True

//Create user

HUser.Login = User
HUser.Password = Password
HUser.FullName = Nome
HUser.Email = Email
HUser.Phone = Telefone
HUser.Groups = ""
HUser.EnabledAccount = True
HUser.SuperUser = False

IF HAddUser(Myconn) = True THEN
ok += " = Usuario: "+User+" foi atribuido ao Banco de dados"
DbUserCreate = True
END

IF HModifyUser(Myconn,User) = True THEN
ok += " = Usuario: "+User+" foi atribuido ao Banco de dados"
DbUserCreate = True
END


HModifyServerRights(Myconn,Usermaster,hRightsChangePassword,hAllowed)
HModifyServerRights(Myconn,Usermaster,hRightsChangeRights,hAllowed)
HModifyServerRights(Myconn,Usermaster,hRightsCreateDB,hAllowed)
HModifyServerRights(Myconn,Usermaster,hRightsDisconnectClient,hAllowed)
HModifyServerRights(Myconn,Usermaster,hRightsManageServer,hAllowed)
HModifyServerRights(Myconn,Usermaster,hRightsManageUser,hAllowed)
HModifyServerRights(Myconn,Usermaster,hRightsPriority,hAllowed)
HModifyServerRights(Myconn,Usermaster,hRightsReadLogStat,hAllowed)
HModifyServerRights(Myconn,Usermaster,hRightsSeeUser,hAllowed)
HModifyServerRights(Myconn,Usermaster,hRightsSendMessageToClient,hAllowed)
HModifyServerRights(Myconn,Usermaster,hRightsServerReplication,hAllowed)
HModifyServerRights(Myconn,Usermaster,hRightsStopServer,hAllowed)

//user createdb
Rights is string = HInfoServerRights(Myconn,Usermaster,hRightsCreateDB)
HModifyServerRights(Myconn, User, hRightsCreateDB, Rights)

//diretivas admin do banco de dados
HModifyDatabaseRights(Myconn,Usermaster,hRightsCreateFile,hAllowed,Database)
HModifyDatabaseRights(Myconn,Usermaster,hRightsRead,hAllowed,Database)
HModifyDatabaseRights(Myconn,Usermaster,hRightsInsert,hAllowed,Database)
HModifyDatabaseRights(Myconn,Usermaster,hRightsUpdate,hAllowed,Database)
HModifyDatabaseRights(Myconn,Usermaster,hRightsDelete,hAllowed,Database)
HModifyDatabaseRights(Myconn,Usermaster,hRightsDeleteDB,hAllowed,Database)
HModifyDatabaseRights(Myconn,Usermaster,hRightsDeleteFile,hAllowed,Database)
HModifyDatabaseRights(Myconn,Usermaster,hRightsBackup,hAllowed,Database)
HModifyDatabaseRights(Myconn,Usermaster,hRightsManageTrigger,hAllowed,Database)
HModifyDatabaseRights(Myconn,Usermaster,hRightsAutoModif,hAllowed,Database)
HModifyDatabaseRights(Myconn,Usermaster,hRightsChangeLink,hAllowed,Database)
HModifyDatabaseRights(Myconn,Usermaster,hRightsChangeOwner,hAllowed,Database)
HModifyDatabaseRights(Myconn,Usermaster,hRightsChangeRights,hAllowed,Database)
HModifyDatabaseRights(Myconn,Usermaster,hRightsConnection,hAllowed,Database)
HModifyDatabaseRights(Myconn,Usermaster,hRightsCreateView,hAllowed,Database)
HModifyDatabaseRights(Myconn,Usermaster,hRightsDebug,hAllowed,Database)
HModifyDatabaseRights(Myconn,Usermaster,hRightsEncryptedConnection,hAllowed,Database)
HModifyDatabaseRights(Myconn,Usermaster,hRightsLock,hAllowed,Database)
HModifyDatabaseRights(Myconn,Usermaster,hRightsMaintenance,hAllowed,Database)
HModifyDatabaseRights(Myconn,Usermaster,hRightsManageDuplicate,hAllowed,Database)
HModifyDatabaseRights(Myconn,Usermaster,hRightsManageIntegrity,hAllowed,Database)
HModifyDatabaseRights(Myconn,Usermaster,hRightsManageProcedure,hAllowed,Database)
// HModifyDatabaseRights(Myconn,Usermaster,hRightsManageTask,hAllowed,Database) // nao usa
HModifyDatabaseRights(Myconn,Usermaster,hRightsNoDatabaseAccess,hAllowed,Database)
HModifyDatabaseRights(Myconn,Usermaster,hRightsRunProcedure,hAllowed,Database)


//user diretivas sob o banco de dados
HModifyDatabaseRights(Myconn,User,hRightsCreateFile,hAllowed,Database)
HModifyDatabaseRights(Myconn,User,hRightsRead,hAllowed,Database)
HModifyDatabaseRights(Myconn,User,hRightsInsert,hAllowed,Database)
HModifyDatabaseRights(Myconn,User,hRightsUpdate,hAllowed,Database)
HModifyDatabaseRights(Myconn,User,hRightsDelete,hAllowed,Database)
HModifyDatabaseRights(Myconn,User,hRightsDeleteDB,hAllowed,Database)
HModifyDatabaseRights(Myconn,User,hRightsDeleteFile,hAllowed,Database)
HModifyDatabaseRights(Myconn,User,hRightsBackup,hAllowed,Database)
HModifyDatabaseRights(Myconn,User,hRightsManageTrigger,hAllowed,Database)
HModifyDatabaseRights(Myconn,User,hRightsAutoModif,hAllowed,Database)
HModifyDatabaseRights(Myconn,User,hRightsChangeLink,hAllowed,Database)
HModifyDatabaseRights(Myconn,User,hRightsChangeOwner,hAllowed,Database)
HModifyDatabaseRights(Myconn,User,hRightsChangeRights,hAllowed,Database)
HModifyDatabaseRights(Myconn,User,hRightsConnection,hAllowed,Database)
HModifyDatabaseRights(Myconn,User,hRightsCreateView,hAllowed,Database)
HModifyDatabaseRights(Myconn,User,hRightsDebug,hAllowed,Database)
HModifyDatabaseRights(Myconn,User,hRightsEncryptedConnection,hAllowed,Database)
HModifyDatabaseRights(Myconn,User,hRightsLock,hAllowed,Database)
HModifyDatabaseRights(Myconn,User,hRightsMaintenance,hAllowed,Database)
HModifyDatabaseRights(Myconn,User,hRightsManageDuplicate,hAllowed,Database)
HModifyDatabaseRights(Myconn,User,hRightsManageIntegrity,hAllowed,Database)
HModifyDatabaseRights(Myconn,User,hRightsManageProcedure,hAllowed,Database)
// HModifyDatabaseRights(Myconn,User,hRightsManageTask,hAllowed,Database) // nao usa
HModifyDatabaseRights(Myconn,User,hRightsNoDatabaseAccess,hAllowed,Database)
HModifyDatabaseRights(Myconn,User,hRightsRunProcedure,hAllowed,Database)

ok += " 100%, Diretivas adicionadas com Sucesso!"

HCloseConnection(Myconn)

END
END

END

IF DbUserCreate = True

HOpenConnection(MyHfsqlLocal)

HChangeConnection("*",MyHfsqlLocal)

T001_Database.T001_Nome = Nome
T001_Database.T001_Email = Email
T001_Database.T001_Telefone = Telefone
T001_Database.T001_Database = Database
T001_Database.T001_DNSIP = DNS_Ip
T001_Database.T001_Porta = Porta
T001_Database.T001_User = User
T001_Database.T001_Senha = Password
T001_Database.T001_Cadastro = DateSys()+TimeSys()

HAdd(T001_Database)

HCloseConnection(MyHfsqlLocal)

END

END


arrResultado is array of string

Add(arrResultado,ok)

RESULT DbUserCreate
Illustrations, screen shots
none
none
User reviews
(To evaluate this resource, click 'Write a review')
No review or comment? Be the first one!