Sunday, May 15, 2022

RDP Verbindung mit mehreren Monitoren

Für das Arbeiten im Homeoffice ist in meinem Fall eine RDP-Verbindung notwendig. Ich kann darüber auf den Rechner in meinem Arbeits-Büro zugreifen.

Auf Arbeit habe ich zwei Monitore und zu Hause drei. Nun möchte ich die zwei Bildschirme vom Arbeitsrechner über die RDP-Verbindung auf zweien meiner drei Monitore anzeigen.

Dies kann wie folgt bewerkstelligt werden:

  1. RDP-Verbindung öffnen und Verbindungseinstellungen speichern
  2. Gespeicherte Verbindungseinstellungen mit einem Texteditor öffnen
  3. prüfen, ob ein Parameter selectedmonitors bereits vorhanden ist, ggf. löschen bzw. editieren
  4. die Kommandozeile (cmd) öffnen und mstsc /L eingeben. Nun werden hier alle verfügbaren Monitore aufgelistet. Mein Hauptmonitor ist #4. Die beiden anderen sind links daneben angeordnet.

    Im Screenshot sind die Positionen der einzelnen Bildschirme aufgelistet. In meinem Fall sind diese also so angeordnet:  [ 5 ] [ 0 ] [ 4 ]


  5. Zurück zu den RDP-Verbindungseinstellungen, welche im Editor noch offen sind. Hier wird nun ein weiterer Parameter selectedmonitors mit der Liste an Monitoren, die für die RDP-Verbindung genutzt werden dürfen hinzugefügt. In meinem Fall sieht das dann so aus: selectedmonitors:s:5,0 
  6. Die Verbindungseinstellungen wieder speichern und diese dann per Doppelklick öffnen. Nun habe ich auch im Homeoffice die zwei Bildschirme vom Arbeitsrechner.
ACHTUNG
Es kann sein, dass sich bei Neustart des Rechners, die Monitor-Nummern, sowie deren Position ändern. Dies ist der fall, wenn der Fehler "Aufgrund eines Protokollfehlers (0x112f) wird die Remote-Sitzung getrennt" erscheint.

Es gibt einen weiteren wichtigen Parameter, der bei Auftreten dieses Fehlers angepasst werden muss:

winposstr:s:0,1,-3840,0,-1920,1040

Dieser Parameter bestimmt Größe und Position des Fensters. Hierbei sind die Werte an 3. und 4. Stelle sowie 5. und 6. Stelle wichtig. Mit diesen legt man die linke obere und rechte untere Position fest. Dazu kann man wieder mstsc /L aufrufen. Dort müssen dann meist nur die 3. und 5. Position gesetzt werden.

Weitere Infos gibt es hier: https://social.technet.microsoft.com/wiki/contents/articles/665.how-to-set-the-monitor-for-a-remote-desktop-session-in-a-multi-monitor-setup.aspx#Calculating_the_Values_for_winposstr

Wednesday, September 7, 2016

[LINUX] Crontabs aller User auflisten

for user in $(cut -f1 -d: /etc/passwd); do echo $user; crontab -u $user -l; done

Wednesday, February 5, 2014

BigDump: Staggered MySQL Dump Importer

Vor vielen Jahren hat mir dieses Tool gute Dienste erwiesen. Nun bin ich erneut darüber gestolpert und möchte es gern hier verlinken:

http://www.ozerov.de/bigdump/

Große MySQL Dumpfiles können hiermit auch auf "Problemservern" importiert werden.

Wednesday, October 23, 2013

Mehrere SQL Kommandos in Access mittels VBA ausführen

In Access ist es leider nicht möglich, mehrere SQL Anweisungen auszuführen. Hier kann man sich mittels VBA helfen. Der dazugehörige Code folgt hier:

Sub ExecSqlFromFile()
    ' Variablen deklarieren
    Dim vSql       As Variant
    Dim vSqls      As Variant
    Dim strSql     As String
    Dim intF       As Integer

    intF = FreeFile()
    Open "c:\sql.txt" For Input As #intF ' Datei öffnen
    
    Do While Not EOF(intF) ' Solange das Dateiende nicht erreicht ist
         Line Input #intF, strSql ' nächste Zeile der Datei in TextLine speichern
    Loop
    
    Close intF ' Datei schließen
    vSqls = Split(strSql, ";") ' Anweisungen splitten
    
    On Error Resume Next
    For Each vSql In vSqls
         If Len(vSql) > 0 Then
             MsgBox (vSql) ' Anweisung ausgeben
             CurrentDb.Execute vSql ' Anweisung ausführen
         End If
    Next

End Sub


Wednesday, January 2, 2013

[LINUX] Verzeichnisgrößen ermitteln

um heruaszufinden, welche Verzeichnisse den meisten Platz verwenden, nutze man "du" mit folgendem Parameter:


Thursday, October 4, 2012

[SYBASE] How to fix a "suspect" database


Damit ich es wiederfinde, habe ich mir mal folgenden Beitrag aus einem Forumpost kopiert. Das Original ist hier zu finden: http://sybase-developer-network.com/conversation/44016/

 From: Bret Halford 
Clearing the suspect database flag is fairly easy, the suspect bit's
value in sysdatabases.status is 256. This code flips the bit off
if it is on:

sp_configure "allow updates", 1
go

-- on very old versions (pre-11.x), "reconfigure with override" would --
be needed here, it is not needed in current versions.
go
update sysdatabases
set
status = status ^ 256 -- exclusive or operator flip the bit
where
status & 256 = 256
[and name = "mydb"]


If you included the "name" clause, you should get 1 row affected.

The next step is to cause the database to go through recovery again
now that it is no longer marked suspect. On all versions, you can
do this by shutting down and then rebooting the whole ASE server.
In 12.5.4 ESD 1 and higher 12.5.x versions, and in 15.0.2 and above
you can use DBCC DBREBOOT to reboot just the one database

dbcc dbreboot("shutdown", )
go
dbcc dbreboot("restart",
)
go


The database should now either recover normally or hit a
problem and get marked suspect again.

If the problem is some sort of corruption in the database, your
options are to try loading an older dump of the database or
(if no such dump exists, for instance) working with tech support.
Generally speaking, though, if some sort of corruption is
preventing recovery from completing, it is unlikely that the
database can be brought to a transactionally consistent state.

Friday, July 20, 2012

[SYBASE] Stored Procedures erneut kompilieren

Ändert man eine Tabelle in Sybase und hat eine Stored Procedure oder einen Trigger, welcher auf diese Tabelle zugreift, so kann es sein, dass z.B. die Stored Procedure nicht mehr funktioniert. Diese muss dann neu kompiliert werden.

Mit sp_recompile braucht man sich nicht darum zu kümmern, welche Stored Procedures auf die geänderte Tabelle zugreifen. Man wendet sp_recompile stattdessen auf das geänderte Objekt an. Die Stored Procedure erhöht dann lediglich den Zähler "schemacnt". Sybase prüft diesen Zähler bei der Ausführung von z.B. Stored Procedures und rekompiliert die auszuführenden Objekte, wenn ein Unterschied bemerkt wird.

Links:

Wednesday, July 18, 2012

[LINUX] Dateien finden und in separaten Ordner kopieren

Möchte man in Linux Dateien finden und in einen separaten Ordner kopieren, so kann man dies mit folgendem Befehl bewerkstelligen:


find -type f -name "*.jpg" -exec cp {} /tmp/images/ \;

Soll die Verzeichnisstruktur erhalten bleiben:

find -type f -name "*.jpg" -exec cp '{}' /tmp/images/ --parents \;

Monday, March 12, 2012

Friday, July 15, 2011

[SYBASE] ASE 12.5 with UTF-8

This PDF describes to setup your ASE 12.5 with a default UTF-8 charset: http://www.sybase.com/content/1026310/unicode_support_wp.pdf

To fix the "text" fields check out this page: http://manuals.sybase.com/onlinebooks/group-asarc/srv10024/sag/@Generic__BookTextView/49306;pt=49154

Quote:

Changing to a multibyte character set makes the internal management of text data more complicated. Since a text value can be large enough to cover several pages, SQL Server must be able to handle characters that may span across page boundaries. To do so, the server requires additional information on each of the text pages.
To see the names of all tables that contain text data, use this query:
select sysobjects.name
from sysobjects, syscolumns
where syscolumns.type = 35
and sysobjects.id = syscolumns.id
The System Administrator or table owner must run dbcc fix_text to calculate the new values needed.

Wednesday, September 15, 2010

Passwort für Microsoft IE Test Virtual PC

Normalerweise habe ich die virtuellen Maschinen zum Testen des IE nur kurz auf. Wenn es mal wieder etwas länger dauert, kann es schonmal passieren, dass man zur Eingabe des Passwortes genötigt wird. Als guter Entwickler ändert man das natürlich auch nie :)

Das Passwort für den User IETest ist: P2ssw0rd


Um das Ganze noch zu vervollständigen, hier der Link zu den Test Images:
Internet Explorer Application Compatibility VPC Image

Friday, August 27, 2010

[SYBASE] BCP

Damit habe ich mich richtig rumgeärgert..

[PATHTOSYBASE]\OCS-15_0\bin\bcp.exe [DBNAME].[TABLENAME] partition [PARTITIONNAME] in [PATHTOCSVFILE] -c -t ; -r \n -U [USERNAME] -P [PASSWORD] -S [SERVERNAME] -Y

ich suche noch nach einer Seite, wo das im einzelnen erklärt ist.
Hier ist die Seite vom Sybase Onlinebook: http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc30191.1502/html/utility/X14951.htm

Wichtig ist, dass die CSV Datei mit Unix-Zeilenendungen und in ANSI/ASCII geschrieben ist.

Wednesday, July 21, 2010

[SYBASE] Device anlegen

Um ein neues Device in Sybase anzulegen verwendet man foldenden Befehl:

disk init
name = "[DEVICENAME]",
physname = "[DEVICEPATH]",
size = [DEVICESIZE]

go

Monday, July 12, 2010

[SYBASE] Device mit iSQL vergößern

Im nachfolgenden Beispiel möchte ich eine Datenbank von Data=100M und Log=50M auf Data=1000M und Log=500M vergößern. Dazu will ich kein neues Device anlegen, sondern die vorhandenen Devices vergrößern. Hier nun eine kurze Step-by-Step Anleitung.

Zuerst einmal einen Überblick verschaffen:

sp_helpdb [DBNAME]
go

Dann das Device vergrößern:

disk resize name="[DATADEVICE]", size="900M"
disk resize name="[LOGDEVICE]", size="450M"
Jetzt muss der neu geschaffene Speicherplatz der Datenbank zugewiesen werden:

alter database storedb ON [DATADEVICE]= "1000M" log on [LOGDEVICE]= "500M"
zum Schluss alles nochmal überprüfen:

sp_helpdb [DBNAME]
go

Sunday, May 31, 2009

Amazon Associates Webservice

Da ich den Link zur Amazon Associates Webservice Dokumentation immer suche, lege ich den Verweis hier ab: http://docs.amazonwebservices.com/AWSECommerceService/2009-02-01/DG/

[Google Maps] Marker Clusterer

Eine interessante Lösung viele Marker darzustellen:
http://gmaps-utility-library.googlecode.com/svn/trunk/markerclusterer/1.0/examples/speed_test_example.html

How it works:

* The MarkerClusterer will group markers into clusters according to
* their distance from a cluster's center. When a marker is added,
* the marker cluster will find a position in all the clusters, and
* if it fails to find one, it will create a new cluster with the marker.
* The number of markers in a cluster will be displayed
* on the cluster marker. When the map viewport changes,
* MarkerClusterer will destroy the clusters in the viewport
* and regroup them into new clusters.

Tuesday, February 17, 2009

[LINUX] Packen und entpacken unter Linux

Ein Verzeichnis mit tar.gz packen:
tar cfvz paketname.tar.gz verzeichnisname/

Ein Verzeichnis mit tar.gz entpacken:
tar xfvz paketname.tar.gz