Remote-Server Query in Insert-Statment benutzen

Eine einfache Möglichkeit eine spezielle Abfrage auf einem Remote-Server auszuführen, so kann man die Sprachmittel des Remote-Servers verwenden und das Ergebnis mit Daten des SQL-Servers verbinden.


begin transaction

INSERT INTO foo(id)
select id from openquery(mybatz,'select * from batz where n>12')

rollback transaction

Diese Funktion ist besonders nützlich, wenn man nicht genau weis, was der Remote-Server ist und man nur die Tabellen kennt. Normalerweise kann man auf einen Remoteserver einfacher zugreifen, es eicht ein:
Select * from remoteserver.datenbank.schema.tabelle

aber das klappt nicht immer, nicht jeder OLE-DB-Provider unterstützt das. So finde ich openquery einen brauchbaren Ersatz.

Umkreissuche mit Google-Koordinaten mit MySQL

Mit der nachfolgende Funktion kann die Entfernung zwischen 2 Punkten auf der Erdkugel berechnet werden.


CREATE FUNCTION `GoogleDistance_KM`(
geo_breitengrad_p1 double,
geo_laengengrad_p1 double,
geo_breitengrad_p2 double,
geo_laengengrad_p2 double ) RETURNS double
RETURN (6371 * acos( cos( radians(geo_breitengrad_p2) ) * cos( radians( geo_breitengrad_p1 ) )
* cos( radians( geo_laengengrad_p1 ) - radians(geo_laengengrad_p2) )
+ sin( radians(geo_breitengrad_p2) ) * sin( radians( geo_breitengrad_p1 ) ) )
);

Somit kann man ganz einfach in einer MySQL-Datenbank die Elemente ermitteln die zm Beispiel im Umkreis zu einem bestimmten Punkt liegen. Ich denke das Beispiel läßt sich auch leicht auf den SQL-Server oder auf eine Oracle-Datenbank übertragen.

Läßt sich dann ganz einfach benutzen:

CREATE TABLE `Adressen` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`name` VARCHAR( 60 ) NOT NULL ,
`address` VARCHAR( 80 ) NOT NULL ,
`geo_laengengrad` double NOT NULL ,
`geo_breitengrad` double NOT NULL
)

SELECT id, adresse, geo_laengengrad, geo_breitengrad
from adressen
where GoogleDistance_km(geo_breitengrad, geo_laengengrad, 40, -122) <= 100

Mehr zur Berechnung von Entfernungen, Peilung, Mittelpunkt etc gibts hier

VMWare Virtual Machine ‘Failed to Lock the File’

Da hab ich doch nochmal Glück gehabt, es war ein erschreckender Moment, als meine geliebte VMWare-Maschine nicht mehr startete und zwar mit der Fehlermeldung “restoring snapshot – Failed to lock the file”. Möglicherweise wurde die VMWare nicht ganz sauber runtergefahren oder VMWare abgestürtzt war.

Lösen lies sich das Problem zum Glück recht leicht, im Ordner der VMWare-Maschine gab es Ordner (.lck) in denen die Lock-Informationen gespeichert waren. Ein Löschen dieser Ordner behob das Problem. Für mich bleibt die Erkenntnis – fahre die VMWare immer sauber runter …

Google-Maps und die Wasserstandsmeldung vom Nil

Nun in Google-Maps kann man eigentlich nicht die Wasserstandmeldung vom Nil erfahren.Aber ein paar Leute die nix zutun hatten, haben mit Hilfe von Google-Maps eine Webseite zusammengebaut mit der man den steigenden Meeresspiegel auf der nördlichen Halbkugel simulieren kann. Die kann gerade für die Leute interessant sein, die im Norden von Deutschland ein Haus kaufen wollen oder in 20 Jahren ein Standbad eröffnen (kann ja interessant sein zu wissen wo der Strand dann ist 🙂 )

Also einfach mal hier schauen: flood.firetree.net

STRUCTORIZER – neue Version verfügbar

Ein neue Version des STRUCTORIZER ist in der Version 3.0.7 verfügbar. Mit diesem Programm ist es einfach und schnell möglich eine grafische Repräsentation für strukturierte Programme zu erstellen und zwar nach Nassi-Schneidermann. Ein tolles Feature ist der Import von Pascal-Code, sowie die Erzeugung des selbigen. So eignet sich das Programm hervorragend für Ausbildungszwecke, denn ein Programm läßt sich einfach grafisch erstellen und dann in Pascal ausprobieren.

Microsoft veröffentlicht Webmaster-Tool

Microsoft hat ein Webmaster-Tool veröffentlicht, mit dem es Webmastern erleichtert wird den Status der eigenen Seiten innerhalb der Live-Suche besser zu prüfen und zu steuern. Der Dienst ist unter webmaster.live.com zu finden. Wie auch bei den anderen Webmaster-Tools, zum Beispiel von Google-Sitemaps und Yahoo-Siteexplorer, muß man sich auch hier mit einem Konto der jeweiligen Anbieter anmelden.

Wer dies tut wird aber mit Statistiken und Auswertungen belohnt. Zudem kann man Sitemaps pflegen. Microsoft unterstützt dabei das Protocol von Sitemap.org und ermöglicht mit der URL http://webmaster.live.com/webmaster/ping.aspx?siteMap=[Your sitemap web address] auch automatische Ping-Backs, wenn sich an der Site-Map etwas genändert hat.

neuer Vista-Treiber für Canon LASER SHOT LBP-2410 verfügbar

Canon hat es endlich geschaft einen Treiber für Canon LASER SHOT LBP-2410 verfügbar zu machen. Der Treiber selbst war schon seit einiger Zeit verfügbar (siehe hier). Aber erst am 19.12.2007 wurde er als lokalisierter Treiber auch auf Deutsch verfügbar.

Das Warten hat endlich ein Ende, bleibt nur zu hoffen, das er stabil läuft.

Updatefehler: Microsoft SQL Server 2005 – KB934458 – Error 2806

Das automatische Update von Windows funktioniert nicht immer ganz rein. Interessanter Weise lies sich diesmal nicht das Microsoft SQL Server 2005 – Update “GDR 3054 for SQL Server Database Services 2005 ENU (KB934458)” nicht richtig installieren.

Das angegebene Log-File half da auch nicht viel, um zu erkennen woran es lag. Ein Blick in das Ergeibnis-Log verriet folgenden Hinweis:

“Product: Microsoft SQL Server 2005 — Error 28062. SQL Server Setup cannot install files to the compressed or encrypted folder: c:\Programme\Microsoft SQL Server\. To continue, make sure that your installation directories are not compressed or encrypted, or specify a different directory, and then run SQL Server Setup again.”

Nun gut, zum Glück hatte ich noch genug Platz auf der Maschine und konnte den Ordner wieder entkomprimieren.

Interesant ist, warum es Microsoft nicht schafft mit komprimierten Dateisystemen klarzukommen, haben die das nicht getestet? Na ich hoffe das der gesendete Fehlerbericht auch wirklich ausgewertet wird, damit das nicht mehr passiert.

Ich bin für meinen Teil nur froh, dass das Update nicht schief gegangen ist und die Installtion nicht runtergerissen hat.

Aus Datenbank ausgesperrt

Unter Umständen ist es möglich sich aus dem SQL-Server auszusperren. Besonders einfach geht es wenn der Administrator schafft seine Default-Datenbank zu löschen (muss er ja nicht selbst gewesen sein, da reicht ja eine unbedarfter Mitstreiter).

Häufig bekommt man dann folgende Fehlermeldung:

Can not open user default database. Login failed. Login failed for user 'fool'. (Microsoft SQL Server, Error: 4064)

Erstmal muß sich eine User anmelden, der die Rechte hat Login’s zu bearbeiten. Da dies häufig Admins sind (also Vordefinierte/Administratoren der Maschine) kann da schon eine Schwierigkeit entstehen in den Entprise Manager oder das SQL-Server Managment Studio zu kommen.

Hier ein kleiner Leitfaden damit man wieder mit den normalen Werkzeugen arbeiten kann.

– Am besten geht es mit den Kommandozeilen-Tool SQLCMD oder isql

– Anmelden mit der Option -U temp sqlcmd -d tempdb damit ist der User auf der Datenbank tempdb angemeldet.

– dort setzt man dann folgenden Befehl ab: alter login [username] with DEFAULT_DATABASE = <neue Defaultdatenbank>; die Default-Datenbank ist jetzt die <neue Defaultdatenbank>.

Mit dieser Kurzanleitung sollte es möglich sein, sich wieder am SQL Server Managmentstudio anmelden und dem Login kann eine bessere Defaultdatenbank verpaßt werden.