SAP Hana sisteminde servis oluşturdunuz.Her servis çağırdığınızda kullanıcı adı ve şifresi girmek istemiyorsanız servisinizi anonymous users 'a çevirip işlem yaptırabilirsiniz.Bu güvenlik açığı oluşturur.Bu açığı kapatmak için APIKEY,KEYCODE vb. bir parametre oluşturarak servis açığını kapatabilirsiniz.
anonymous database access in the HCP için:
1-
.xsaccess
{
"exposed" : true,
"authentication" : null,
"anonymous_connection": "packet_name::anonuser"
}
2-
anonuser.xssqlcc
{
"description" : "Anon SQL connection"
}
Bu kısıma kadar yaparsanız servise erişim anonymous yapılabilir.Fakat servis data'larını göremezsiniz.
3-Oluşturulan anonymous user,Hana database deki 1 kullanıcı ile eşleşmesi için aşağıdaki güncellemeyi yapıyoruz.
UPDATE "_SYS_XS"."SQL_CONNECTIONS"
SET username = 'USERNAME'
WHERE name = 'packet_name::anonuser';
17 Ağustos 2017 Perşembe
16 Ağustos 2017 Çarşamba
Error : Sorry, a technical error occurred! Please try again later.
SAP web ide'nize yeni bir servis bağladığınızda aşağıdaki hatayı alabilirsiniz.
Error : Sorry, a technical error occurred! Please try again later.
Servisi eklediniz ama uygulama çalışmamasının nedeni,destination'ızı bulamaması.
Direk çözüm servis url'sini uygulama içerisinden çalıştırmak ama aşağıdaki şekilde yapmanız daha sağlıklı çözüm olur.
1-neo-app.json :
Error : Sorry, a technical error occurred! Please try again later.
Servisi eklediniz ama uygulama çalışmamasının nedeni,destination'ızı bulamaması.
Direk çözüm servis url'sini uygulama içerisinden çalıştırmak ama aşağıdaki şekilde yapmanız daha sağlıklı çözüm olur.
1-neo-app.json :
2-manifest.json :
15 Ağustos 2017 Salı
403 - Forbidden The server refused to fulfill the request.
SAP HANA da oluşturduğunuz servise POST,PUT,DELETE işlemlerini yapmak istediğinizde aşağıdaki hatayı alabilirsiniz.
403 - Forbidden The server refused to fulfill the request.
bu hatanın çözümü
.xsaccess dosyasının içindeki prevent_xsrf değerini false yapmanız.
.xsaccess
{
"exposed" : true,
"prevent_xsrf" : false
}
403 - Forbidden The server refused to fulfill the request.
bu hatanın çözümü
.xsaccess dosyasının içindeki prevent_xsrf değerini false yapmanız.
.xsaccess
{
"exposed" : true,
"prevent_xsrf" : false
}
14 Ağustos 2017 Pazartesi
Stored Procedure - Could not create catalog object: insufficient privilege; Not authorized
SAP Hana insert-update-delete işlemlerini yapacağınız bir stored procedure oluşturduğunuz zaman aşağıdaki hatayı alabilirsiniz.
Stored Procedure - Could not create catalog object: insufficient privilege; Not authorized
çözüm yolu:
Users >_SYS_REPO and Object Privileges tab
Ve işlem yaptığınız tabloyu ekleyip transcation'larını seçmek.
9 Ağustos 2017 Çarşamba
create procedure and call on hana
create procedure on hana:
PROCEDURE "MAINTENANCE"."maintenance.procedures::get_userInfo"(
IN im_USER "MAINTENANCE"."TT_USERLOGIN",
OUT ex_userInfo "MAINTENANCE"."TT_USERINFO" )
LANGUAGE SQLSCRIPT
SQL SECURITY INVOKER
--DEFAULT SCHEMA <default_schema_name>
READS SQL DATA AS
BEGIN
/*****************************
Write your procedure logic
*****************************/
declare lv_EMPLOYEEID nvarchar(10);
declare lv_password nvarchar(1000);
select EMPLOYEEID,PASSWORD
into lv_EMPLOYEEID,lv_password
from :im_USER;
ex_userInfo = select * from "MAINTENANCE"."EMPLOYEES"
where EMPLOYEEID = :lv_EMPLOYEEID and
PASSWORD = :lv_password;
END;
PROCEDURE "MAINTENANCE"."maintenance.procedures::get_userInfo"(
IN im_USER "MAINTENANCE"."TT_USERLOGIN",
OUT ex_userInfo "MAINTENANCE"."TT_USERINFO" )
LANGUAGE SQLSCRIPT
SQL SECURITY INVOKER
--DEFAULT SCHEMA <default_schema_name>
READS SQL DATA AS
BEGIN
/*****************************
Write your procedure logic
*****************************/
declare lv_EMPLOYEEID nvarchar(10);
declare lv_password nvarchar(1000);
select EMPLOYEEID,PASSWORD
into lv_EMPLOYEEID,lv_password
from :im_USER;
ex_userInfo = select * from "MAINTENANCE"."EMPLOYEES"
where EMPLOYEEID = :lv_EMPLOYEEID and
PASSWORD = :lv_password;
END;
----call procedure----------
drop table #LOGINUSER;
CREATE LOCAL TEMPORARY COLUMN TABLE #LOGINUSER LIKE "MAINTENANCE"."TT_USERLOGIN";
INSERT INTO #LOGINUSER VALUES ('1001','ADMIN');
call "MAINTENANCE"."maintenance.procedures::get_userInfo"( #LOGINUSER,
?)
8 Ağustos 2017 Salı
Odata service with error: Service exception: insufficient privilege
Odata service with error: Service exception: insufficient privilege
hatasının çözümü için 2 yol önerebilirim.
1- *.hdbrole oluşturup,ilgili kullanıcıya bu yetkiyi vermek.
role pXXXtrial.mybackend::role_name{
catalog schema "WORKSHOP_01": SELECT,UPDATE,INSERT,DELETE;
}
daha sonra oluşturduğunuz role ilgili kullanıcıya vermek.
CALL "HCP"."HCP_GRANT_ROLE_TO_USER"('pXXXtrial.mybackend::role_name','pXXX');
2-Bu yöntemde ise manuel role yaratıp ilgili kullanıcılara atamak.
2 Ağustos 2017 Çarşamba
SAP Hana Attribute Views export SQL
Hana sisteminde oluşturduğunuz attribute Views'leri ,
_SYS_BIC --> Column Views ,
çift tıklayarak export SQL yapabilirsiniz.
_SYS_BIC --> Column Views ,
çift tıklayarak export SQL yapabilirsiniz.
Getting the "Cannot get the data provider outline" Error due to "insufficient privilege: Not authorized"
Eclipse de attribute view de karşınıza çıkan hatayı aşağıdaki şekilde düzeltebilirsiniz:
SQL command dan aşağıdaki gibi çalıştırın :
GRANT SELECT ON SCHEMA "<schema name>" TO _SYS_REPO WITH GRANTOPTION
Getting the "Cannot get the data provider outline" Error due to "insufficient privilege: Not authorized"
SQL command dan aşağıdaki gibi çalıştırın :
GRANT SELECT ON SCHEMA "<schema name>" TO _SYS_REPO WITH GRANTOPTION
Kaydol:
Kayıtlar (Atom)