meine Sys/Db admin & Developper Notitzen - wer Rechtschreibfehler findet darf sie behalten ... my Sys/Db Admin and developper notes - I don't care about typos
Friday, February 12, 2021
Google Analytics Basics
Monday, December 07, 2020
get .PublishSettings file and import into visual studio to deploy your web app to azure
1) öffne die Übersicht des web service im azure portal
2) in der obersten Zeile neben NeuStarten, Löschen,Aktualisieren auf "Veröffentlichungsprofil abrufen" drücken => download
3) in visualstudio auf Projekt/Veröffentlichen gehen, Neu, links unten Profil importieren
azure web (app) service protocol
- go to your service then "überwachungen/App-Service Protokolle"
- switch on the protocolls you would like to be saved
- go to "Protokollstream" and connect to "Anwendungsprotokolle" (applicationProtocolls"
Sunday, December 06, 2020
sql server suche nach richtig formatierten email adressen / search for well spelled email adresses in sql server
select top 100 Name,Emailadresse from tAdressen where Emailadresse not like '%[A-Z0-9][@][A-Z0-9]%[.][A-Z0-9]%'
Monday, November 16, 2020
jquery ausgabe paragraf text
<!DOCTYPE html>
<html lang="de">
<head>
<title>jQuery Beispiel: einbinden und erste Anweisung</title>
<script src="https://code.jquery.com/jquery-latest.js"></script>
<script>
$(document).ready(function(){
/* Hier der jQuery-Code */
//alert("Hallo!");
//alert("html="+$(this).html());
$("p").each(function(){
this.style.color="green";
alert("html="+$(this).html());
})
});
</script>
</head>
<body>
<h1>jQuery Beispiel: einbinden und erster Befehl</h1>
<a href="https://www.google.at">
<p>google</p>
</a>
<p>test1!</p>
</body>
</html>
Thursday, October 29, 2020
Power Shell Neue Zeile (CR LF - Carrige Return, Linefeed)
statt dem in C üblichen Schrägstrich verwendet Powershell den Backtick:
Carrige Return CR: C: "\r" PS.: "`r"
Wichtig: Funktioniert nur in doppelten, nicht in einfachen Anführungszeichen.
Monday, October 12, 2020
postgres pgadmin 4
Pg Admin 3 ist noch eine normale WIndows Anwendung, pgadmin 4 eine webanqwendung. Der Server startet immer an einem anderen Port, z.b.:
http://127.0.0.1:64368/browser/
Daher kann man nicht einfach die url bookmarken, sondern muß mittels pgamdin4 icon starten (vom startmenü)
Tuesday, September 01, 2020
Apache Velocity Template Language (VTL)
#Befehl - alle Befehle beginnen mit #
$Variable - Variablen oder Referenzen beginnen mit $
## Kommenttar einzeilig
#*
kommentar mehrzeilig
*#
auslesen URL Parameter, if else
#set($root = $request.getParameter('root'))
#if($root)
rootParameter=$root</br>
<ul class="ht-pages-nav-top"
data-viewport-id="$viewport.id"
data-root="$root"
data-current="$page.link">
</ul>
#else
rootParameter leer
tree.root.link=$tree.root.link</br>
<ul class="ht-pages-nav-top"
data-viewport-id="$viewport.id"
data-root="$tree.root.link"
data-current="$page.link">
</ul>
#end
Tuesday, July 28, 2020
bitbucket
Repository aussuchen, links in Statusleiste Icon "Clone" drücken, dann kriegt man URL
wenn in konsole falscher user / pwd eingestellt ist mit
git clone https://user:pwd@server/pathToRepro/projektFile.git lokalesZielVerzeichnis
clonen
wenn dann Fehlermeldung
fatal: remote error: CAPTCHA erforderlich
Ihr Bitbucket-Account wurde gesperrt. Um ihn zu entsperren und wieder
einzuloggen müssen Sie ein CAPTCHA lösen. Dies wird typischerweise durch zu
viele Loginversuche mit falschem Passwort verursacht. Die Accountsperre
verhindert solange sie aktiv ist, dass Ihr SCM-Client Zugang zu Bitbucket und
seinen Spiegelungen bekommt, selbst wenn Sie Ihre Passwort korrekt eingeben.
erscheint im browser ausloggen und nochmals einloggen
git config user.name
GLOBAL
Anzeige Git Username:
git config --global user.nameSetzen Git UserName
git config --global user.name "MyGlobalUserName"lokal:
Anzeige Git Username:
Setzen Git UserName
git config user.name "MyLokalUserName"Sunday, July 19, 2020
grants / permissions am sql server userfreundlich anzeigen
select
class_desc
,USER_NAME(grantee_principal_id) as user_or_role
,CASE WHEN class = 0 THEN DB_NAME()
WHEN class = 1 THEN ISNULL(SCHEMA_NAME(o.uid)+'.','')+OBJECT_NAME(major_id)
WHEN class = 3 THEN SCHEMA_NAME(major_id) END [Securable]
,permission_name
,state_desc
,'revoke ' + permission_name + ' on ' +
isnull(schema_name(o.uid)+'.','')+OBJECT_NAME(major_id)+ ' from [' +
USER_NAME(grantee_principal_id) + ']' as 'revokeStatement'
,'grant ' + permission_name + ' on ' +
isnull(schema_name(o.uid)+'.','')+OBJECT_NAME(major_id)+ ' to ' +
'[' + USER_NAME(grantee_principal_id) + ']' as 'grantStatement'
FROM sys.database_permissions dp
LEFT OUTER JOIN sysobjects o
ON o.id = dp.major_id
where major_id >= 1 -- ignore sysobjects
and permission_name like 'EXECUTE'
Friday, May 29, 2020
Windows 10 boot menu anpassen mit bcdedit
Backup:
bcdedit /export <Dateiname>
Beschreibung (Eintrag im Bootmenü)
bcdedit /set {current} description „<Beliebige Beschreibung>“
bcdedit /set <Bezeichner> description „<Beliebige Beschreibung>“
Monday, March 16, 2020
c# Config Section verschlüsseln / encrypt
verschlüsseln von Section connectionStrings in datei web.config in c:\temp:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -pef "connectionStrings" c:\temp
app.config in web.config umbennenen und wieder zurückkopieren
Monday, February 17, 2020
postman for rest api - disable certificate check versteckt rechts oben
| Settings in Postman: rechts oben auf den Schraubenschlüssel drücken | , dann unter General SSL certificate verification ausschalten: | ||||||||||
Wednesday, February 05, 2020
postgres Erste Schritte User Management
PgAdmin
Postgres Usermanagment
Standad user:postgresin Postgre Admin im Menü Tools Query Tool aufrufen
alle user:
select * from pg_userUser anlegen / ändern
create user myUser with encrypted password 'mypwd';grant all privileges on database mydb to myUser;
ALTER USER myUser WITH SUPERUSER;
ALTER USER myUSer WITH CREATEDB;
Passwort ändern
ALTER USER user_name WITH PASSWORD 'new_password';
Rechte vergeben:
grant all privileges on table myTable to myuser;GRANT SELECT ON ALL TABLES IN SCHEMA public TO myuser;
Rechte anzeigen:
SELECT * FROM information_schema.role_table_grants where grantee like 'h%'Portnummer:
SELECT * FROM pg_settings WHERE name = 'port';
aktueller User:SELECT current_user;
SELECT session_user;
von anderem Computer zu postgres Server verbinden:
Fehler: reportsFATAL: kein pg_hba.conf-Eintrag für Host
host all all 192.168.1.7/32 trustWICHTIG: NEtzerkmaske z.b. /32 zur IP ADresse hinzufügen, sonst Fehler beim Laden und man kann nicht mehr mit PG ADmin zugreifen.pg_hba.conf kann auch mittels PGADMIN Editor unter Werkzeuge/Serverkonfiguration bearbeitet werden.Thursday, January 16, 2020
ssrs report Aufruf mit Parameter über url
/Pages/ReportViewer.aspx?
%2fDirectoryname
%2fBerichtsname
&rs:Command=Render (kann auch weggelassen werden)
z.b.:
http://servername/ReportServer_SQLEXPRESS/Pages/ReportViewer.aspx?%2fDirectory%2fBerichtname&rs:Command=Render
Parameterübergabe:
nach Berichtsname:
&Parametername=Parameterwert
https://myrshost/ReportServer?/AdventureWorks 2008R2/Employee_Sales_Summary_2008R2&ReportMonth=3&ReportYear=2008
Tuesday, January 14, 2020
Error 'the subreport could not be found at the specified location. Please verify that the subreport has been published and that the name is correct'
delete all *-rdl.data files
Wednesday, December 18, 2019
css selektoren
#id ... genau ein Html element
.classname ... alle elemente mit dieser klasse
Beispiele:
Sunday, December 15, 2019
treecomp filter
Wednesday, December 11, 2019
linux partitionen anzeigen
sfdisk -l
lsblk -f
cat /proc/partitions
lshw -class disk -short
df -h
du -h
Thursday, December 05, 2019
git lokalen mit remote branch verbinden
git checkout --track origin/<branchname>
bereits existierenden lokalen branch (der gerade aktiv ist):
git branch --set-upstream-to=origin/<branchname>
Sunday, November 17, 2019
wake up
powercfg befehle für cmd:
from
https://answers.microsoft.com/en-us/windows/forum/windows_10-other_settings/windows-10-keeps-waking-up-from-sleep-in-the/58052fd3-87fe-4457-aeaf-974b5ea15080?auth=1
eventlog: powertroubleshooter, Kernel-Boot, Kernel-Power, Kernel-General
powercfg/lastwake
powercfg /devicequery wake_armed
powercfg/waketimers
z.b. weckt Universal Orchestrator Start einmal täglich auf
Einschalt / Abschaltzeiten:
Kernel-Power würde prinzipiell genügen, hat aber noch die falsche (EinschlafZeit) beim Aufwachen. Daher muß eine zusätzliche Aufwach Meldung über Kernel-General eingeblendet werden.Die Kernel-Power Meldungen geben leider nur den Einschalfzeitpunkt bekannt.
Kernel-General, Kernel-Power
Ereignis Ids: 1, 42, (107)
1 .. Time Sync
42.. schlafen
107 Reaktivierung
besser:
Kernel-Power 42 einschalfZeit +Erklärung
Power-Troubleshooter 1: AufwachZeitpunkt + Erklärung
Meldungen beim Aufwachen:
1) Kernel-Power 107: Das System wurde aus dem Energiesparmodus reaktiviert -- ACHTUNG: FALSCHE UHRZEIT (noch alte Uhrzeit)2) Kernel-General 1: Systemzeit wird synchronisiert
3) ... Hyper_V_Vm_Switch ...
4) Kernel Boot ...
5) Power-Troubleshooter 1: Das System wurde aus einem Standbymodus reaktiviert.
Zeit im Energiesparmodus: 2019-11-28T16:20:24.825454800Z
Reaktivierungszeit: 2019-11-28T20:22:06.250093500Z
Reaktivierungsquelle: Unbekannt
Medlungen beim Einschlafen:
Kernel-Power 42: Das System wird in den Standbymodus versetzt.nützliche powercfg Befehle
Tuesday, November 05, 2019
raspi 4 dual monitor
Monday, October 07, 2019
oracle stored proc
pos1 NUMBER:=0;
pos2 NUMBER:=0;
origName VARCHAR2(4000);
origSearchStr VARCHAR2(4000);
aliasName VARCHAR2(4000);
aliasPath VARCHAR2(4000);
BEGIN
dbms_output.put_line ('------------ CreateAliasPaths Beginn:' || TO_CHAR(SYSDATE, 'DD-MON-YYYY HH24:MI:SS'));
FOR r IN (SELECT * FROM Table0) --for testing: where rownum<=3
LOOP
pos1:=INSTR(r.ALIAS,' ');
origName:=SUBSTR(r.ALIAS,1, pos1-1);
origSearchStr:='%' || origName || '%';
pos2:=INSTR(r.ALIAS,' ',pos1+1);
if (0=pos2) THEN
pos2:=LENGTH(r.ALIAS);
END IF;
LOOP
aliasName:=SUBSTR(r.ALIAS,pos1+1, pos2-pos1-1);
--dbms_output.put_line('AliasTabelle:' || r.ALIAS);
--dbms_output.put_line('originalName:' || origName || ',' || pos1 || ' ' || pos2 || ' aliasName:>' || aliasName || '<' );
FOR rRepro IN (SELECT * FROM table1 WHERE LOWER(PATH) like LOWER(origSearchStr))
LOOP
aliasPath:=REPLACE(rRepro.PATH, origName, aliasName);
--dbms_output.put_line('aliasPath:' || aliasPath );
UPDATE table1 SET ALIAS=rRepro.ALIAS || ' ' || aliasPath WHERE table1ID=rRepro.table1ID;
END LOOP;
--dbms_output.put_line( '-------------------------------------------------' );
pos1:=pos2;
EXIT WHEN (pos1>=LENGTH(r.ALIAS));
pos2:=INSTR(r.ALIAS,' ',pos1+1);
if (0=pos2) THEN
pos2:=LENGTH(r.ALIAS);
END IF;
END LOOP;
--dbms_output.put_line( '=============================================================================' );
END LOOP;
COMMIT;
dbms_output.put_line ('------------ CreateAliasPaths End:' || TO_CHAR(SYSDATE, 'DD-MON-YYYY HH24:MI:SS'));
END CreateAliasPaths;
Oracle Sql Developper Debuggen:
Breakpoint durch Click in linke breite Leiste
Rechte zum Oracle Debuggen:
grant debug connect session to myDebugUser;
grant debug any procedure to myDebugUser;
-- Wenn: ORA-24247: Netzwerkzugriff von Zugriffskontrollliste abgelehnt
grant execute on DBMS_DEBUG_JDWP to myDebugUser;
Thursday, October 03, 2019
oracle substr stored proc
PROCEDURE TESTHM AS
BEGIN
dbms_output.put_line ('TestHm');
DECLARE str VARCHAR2(4000);
BEGIN
FOR r IN (SELECT * FROM myTable where rownum<=5)
LOOP
str:=SUBSTR(r.myStrField,1, 10);
dbms_output.put_line( str );
dbms_output.put_line( r.myStrField);
END LOOP;
END;
dbms_output.put_line (CURRENT_DATE);
END TESTHM;
oracle stored procedure loop over records (withouth cursor)
PROCEDURE TESTHM AS
BEGIN
dbms_output.put_line ('TestHm');
FOR r IN (SELECT * FROM myTable)
LOOP
dbms_output.put_line( r.myField );
END LOOP;
dbms_output.put_line (CURRENT_DATE);
END TESTHM;
set serveroutput on;
execute testhm;
Thursday, September 12, 2019
From c# to Java - from Visual Studio to Eclipse
| task | VisualStudio | Eclipse | |
|---|---|---|---|
| go to definition | F12 | F3 | |
| last location | CRT - | CRT Q | |
| task | c# | java | |
|---|---|---|---|
| override | override | @Override | |
| Datum | DateTime | Date | |
Sunday, September 01, 2019
bildschirmaufloesung linux
cvt 1920 1080 60
dann xrandr --addnew obigen output hinzufügen
dann in system/geräte/bildschirme neue auflösung auswählen
https://wiki.ubuntuusers.de/RandR/
# 1024x768 59.92 Hz (CVT 0.79M3) hsync: 47.82 kHz; pclk: 63.50 MHz Modeline "1024x768_60.00" 63.50 1024 1072 1176 1328 768 771 775 798 -hsync +vsync
xrandr --newmode "1024x768_60.00" 63.50 1024 1072 1176 1328 768 771 775 798 -hsync +vsync xrandr --addmode DVI-0 "1024x768_60.00" xrandr --output DVI-0 --mode "1024x768_60.00"
Monday, August 19, 2019
browser raspi
start from commandline: dillo, epiphany-browser, netsurf, lynx
Friday, June 14, 2019
gpio Raspberry
php script test.php (www-data zu gruppe gpio hinzufügen )
| <html> | |
| <head> | |
| <meta name="viewport" content="width=device-width" /> | |
| <title>Schalter</title> | |
| </head> | |
| GPIO 23 schalten: | |
| <form method="get" action="pool.php"> | |
| <input type="submit" value="Licht ein" name="Lichtein"> | |
| <input type="submit" value="Licht aus" name="Lichtaus"> | |
| </form> | |
| <?php | |
| $modeon18 = exec("gpio mode 23 out"); | |
| if(isset($_GET["Lichtein"])){ | |
| $val = exec("gpio write 23 1"); | |
| echo "Licht an"; | |
| } | |
| else if(isset($_GET["Lichtaus"])){ | |
| $val = exec("gpio write 23 0"); | |
| echo "Licht aus"; | |
| } | |
| echo "<hr/>"; | |
| $val = exec("gpio read 23"); | |
| echo " gpio23 = $val "; | |
| echo " <hr />" | |
| ?> | |
| </body> | |
| </html> |
Friday, June 07, 2019
ownlcloud auf raspberry
Vorbedingungen
php7.0-gd php7.0-json php7.0-mysql php7.0-curl \
php7.0-intl php7.0-mcrypt php-imagick \
php7.0-zip php7.0-xml php7.0-mbstring php-intl
download und entpacken owncloud
neueste version auf download page)wget https://download.owncloud.org/community/owncloud-10.2.0.zip
das zip file dann nach /var/www/html verschieben und entpacken:
unzip -q owncloud-10.2.0.zip
owncloud data verzeichnis vorbereiten:
mkdir /var/www/html/owncloud/data
chown www-data:www-data /var/www/html/owncloud/data
chmod 750 /var/www/html/owncloud/data
hat nicht ganz funktioniert:
wget -nv https://download.owncloud.org/download/repositories/production/Debian_9.0/Release.key -O Release.key
apt-key add - < Release.key
echo 'deb http://download.owncloud.org/download/repositories/production/Debian_9.0/ /' > /etc/apt/sources.list.d/owncloud.list
apt-get update
apt-get install owncloud-files
ssms sql server management studio pfad
Thursday, May 23, 2019
Sunday, May 19, 2019
wordpress Export/Import (einrichten der seite)
theme installieren (z.b. donovan)
Apeareance-Customize / HomepageSettings/StaticPage/Hauptseite=
Apeareance-Customize/Menu
WPF Binding ToolTip and ContextMenu with PlacementTarget
Friday, May 10, 2019
linux mysql basics
starten wenn nicht gestartet: /etc/init.d/mysql start
mysql -u user
show databases;
SELECT User FROM mysql.user;
CREATE USER 'da'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'da'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
Monday, April 15, 2019
Razore Asp.net Core
- https://docs.microsoft.com/en-us/aspnet/core/tutorials/razor-pages/razor-pages-start?view=aspnetcore-3.0&tabs=visual-studio
- neue Web App anlegen (asp.net core web app, Type Web Application)
- starten & testen
- statische Seiten in wwwroot hinufügen
- https://docs.microsoft.com/en-us/aspnet/core/tutorials/razor-pages/model?view=aspnetcore-3.0&tabs=visual-studio
- Model Folder und Model Klasse Test.cs hinzufügen
- in Pages Folder Test hinzu
- rechte Maustaste auf Foldfer test, Hinzufügen, nues Gerüstelement
- Razor Pages EF (CRUD) hinzufügen
- Modelkalsse Test.cs auswählen und bei Context auf + drücken => neuer Context wird erzeugt
- RUN: Zu Root /Test hinzufügen um generierte Seiten anzuzeigen
Sunday, April 14, 2019
Citadel: Apache und webcit citadel Ports
server starten: sudo service citadel start
neu konfigurieren: sudo /usr/lib/citadel-server/setup
und
curl http://easyinstall.citadel.org/install | bash
Friday, April 12, 2019
nützliche Raspi Raspberry Software
lynx #textbrowser
midori #old rasbian browser, fast light
xrdp #remote desktop server
Thursday, March 28, 2019
wpf binding examples
Width="{Binding Source ={StaticResource ColorPickerColumnDefaultWidth},
Dependency property in User Control:
Text="{Binding TitleText, ElementName=MyUserControl}"
<TextBlock Text="{Binding Name, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}} }"/>
<TextBlock Text="{Binding Name, ElementName=UcPaneHeader}"/>
<TextBlock Text="{Binding Name, ElementName=PaneTitle}"/>
Thursday, March 21, 2019
asp.net core and EF (asp.net types: empty, API)
Connection Strings
InMemory Datenbank:
services.AddDbContext<TodoContext>(opt => opt.UseInMemoryDatabase("TodoList"));LocalDb
aus https://docs.microsoft.com/en-us/ef/core/get-started/aspnetcore/new-db?tabs=visual-studiovar connection = @"Server=(localdb)\mssqllocaldb;Database=EFGetStarted.AspNetCore.NewDb;Trusted_Connection=True;ConnectRetryCount=0";
services.AddDbContext<BloggingContext>
(options => options.UseSqlServer(connection));
leere Web App
{
await context.Response.WriteAsync("Hello World!");
});
einfaches Webservice (API)
in Startup.cs: app.UseMvc();
Model(s):
public class TodoItem{
public long Id { get; set; }
public string Name { get; set; }
public bool IsComplete { get; set; }
}
DbContext:
public class TodoContext : DbContext
{
public TodoContext(DbContextOptions<TodoContext> options)
: base(options)
{
}
public DbSet<TodoItem> TodoItems { get; set; }
}
Controller hinzufügen (rechte Maustaste auf Controller Ordner )
1)MVC-Controller leer2) MVC Controller mit Ansichten unter Verwendung von EF
3) MVC Controller mit Lese/SchreibAktionen
4) API-Controller leer:
[Route("api/[controller]")]
[ApiController]
public class EmptyController : ControllerBase
{
}
5) API-Controller mit Lese/Schreibaktionen:
fügt get, post,put und delete Methoden hinzu, unter Annahme einer id vom Typ int,, gibt string "value" zurück
6) API-Controller mit Aktionen unter Verwendung von EF:
in Maske Context und Modell Klasse auswählen => generiert API mit put, get usw.
Statische Files
in Startup.onfigure:
app.UseDefaultFiles();
app.UseStaticFiles();
Wednesday, March 20, 2019
clean obj bin
asp.net core EF core migrations
public class TestEntity
{
public int Id { get; set; }
public string TestString { get; set; }
}
2) add a context
public class TestContext1 : DbContext
{
DbSet<TestEntity> TestEntities { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
base.OnConfiguring(optionsBuilder);
if (!optionsBuilder.IsConfigured)
{
#warning To protect potentially sensitive information in your connection string, you should move it out of source code. See http://go.microsoft.com/fwlink/?LinkId=723263 for guidance on storing connection strings.
optionsBuilder.UseSqlServer(@"Server=localhost\sqlexpress;Database=test;Trusted_Connection=True;");
}
}
}
3) start Nuget Package Manager Console: ALT T N O
select the project with your model and context as start project
Add-Migration M0001
update-database
WICHTIG: Projekt mit Context muß als Startup projekt und in Nuget Manager Console ausgewählt sein ! Bei Asp.Net muß der Context auch in der Startup Klasse sein ...
asp.net core using existing db
1) in Packet-Manager-Console: Scaffold-DbContext "Server=localhost\sqlexpress;Database=test;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models
=> erzeugt Context und EF Models
2) in Startup.cs Context regisitrieren:
services.AddDbContext<testContext>();
3) rechts click auf Controllers, Add Controller, MVC Controller mit Ansichten (Views) unter Verwendung von EF
4) Starten, und in adresszeile den Modellnamen hinzufügen
Monday, March 18, 2019
einfaches css beispiel
<h1>header1</h1>
normal
<p style="color:green; font-weight: bold; ">absatz</p>
direkt im code: style="Eigenschaft:wert"
in style.css (einbinden mit link rel="stylesheet" type="text/css" href="style.css" )
h1 { color:red}
wordpress grundlagen
theme:
jedes jahr bringt wordpress ein neues theme raus - 2015 twentyFifteen stellt das menü in der sidebar als Baum dar, 2017 twentySeventeen bringt die menüpunkte nebeneinander
child theme:
neuen ordner in wp_content/themes mit parentTheme-child name und 3 dateien: style.css, functions.php und screenshot.png:
siteurls usw. in db in wp_options tabelle
define('FS_METHOD','direct');
chown www-data:www-data wordpress -R
