PC SOFT
DEPOT EN LIGNE
POUR WINDEVWEBDEV ET WINDEV MOBILE

CreateDB
Publié par Boller
- Non classée
Nouveautés



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, copies d'écran
none
none
Avis des utilisateurs
(Pour noter la ressource, cliquez sur Ecrire un avis)
Aucun avis ou commentaire ? Soyez le premier !