Bei einem unserer Kunden, wurden bis jetzt Dateien auf der DB (Sql Server 2005) als XML abgespeichert:

<Document>

<FileName></FileName>
<FileType></FileType>
<CreatedAt></CreatedAt>
<Data></Data>

</Document>

Das <Data> Feld wurde natürlich mit base64 encoded damit man schön XML reinschreiben und auslesen konnten.

Da der Vortschritt aber auch hier einzug gehalten hat, gibt es jetzt auch hier eine eigene Tabelle mit einem Blob für <Data>. Dabei stellte sich nur die Frage wie man jetzt am besten von base64 auf Blob migriert. Folgenden netten XQuery befehl habe ich hierfür gefunden:

Documents.value(‘xs:base64Binary(/*:Documents[1]/*:Document[1]/*:Data[1])’, ‘varbinary(MAX)’)

English:

One of our customer used XML to save files inside there DB (Sql Server 2005):

<Document>

<FileName></FileName>
<FileType></FileType>
<CreatedAt></CreatedAt>
<Data></Data>

</Document>

The <Data> field was of course base64 encoded to make it easy to read and write XML files form it.

After some progress they managed to save the data into a new table with an Blob field for <Data>, but the tricky part was: how to get the base64 data into the Blob field,… during some research I found the following XQuery command.

Documents.value(‘xs:base64Binary(/*:Documents[1]/*:Document[1]/*:Data[1])’, ‘varbinary(MAX)’)

Share and Enjoy:
  • Technorati
  • Digg
  • Facebook
  • del.icio.us
  • Live
  • Google Bookmarks
  • DotNetKicks
  • DZone
  • TwitThis
  • Blogosphere News
  • Blogplay
  • LinkedIn
  • MisterWong
  • MisterWong.DE
  • MSN Reporter
  • MyShare
  • RSS
  • StumbleUpon
  • Suggest to Techmeme via Twitter
  • Tumblr
  • Twitter
  • Webnews.de
  • Yahoo! Bookmarks
  • Yigg

Hatte ein interessantes Erlebnis mit Oracle Client auf 64bit Windows Server.
Eine unserer Applikationen läuft noch auf 32bit, dh. auf dem Server waren auch die 32bit Oralce Client Komponenten installiert (und richtig konfiguriert).

Wir hatten aber nun das Problem, dass sobald wir unsere Applikation starten wollten, wir immer folgenden ORA-Fehler bekamen:
ORA-12154: TNS:could not resolve the connect identifier specified

Andere 32bit Software konnte aber erfolgreich mit der Oracle-DB kommunzieren…
Am Ende des Arbeitstages hatten wir endlich den Grund des Problems gefunden:
http://blogs.msdn.com/debarchan/archive/2009/02/04/good-old-connectivity-issue.aspx

Zusammengefasst ist es ein Bug im x86 Oracle Client 10.2.0.1 - jedede Art von Klammern (!) im Pfad der zu startenden Applikation verursacht oben genannten Fehler!
Und auf einem x64 Windows werden alle 32bit Applikation standardmässig auf “C:\program files (x86)\…” installiert…

Share and Enjoy:
  • Technorati
  • Digg
  • Facebook
  • del.icio.us
  • Live
  • Google Bookmarks
  • DotNetKicks
  • DZone
  • TwitThis
  • Blogosphere News
  • Blogplay
  • LinkedIn
  • MisterWong
  • MisterWong.DE
  • MSN Reporter
  • MyShare
  • RSS
  • StumbleUpon
  • Suggest to Techmeme via Twitter
  • Tumblr
  • Twitter
  • Webnews.de
  • Yahoo! Bookmarks
  • Yigg

Es scheint sich bis MS herumgesprochen zu haben, dass es einen Datumstyp für “weltweit” gibt – gemäß ISO-8601 Standard.
Das wird mobil-data freuen, da sie derzeit dafür ziemlich tricksen müssen. Server in Norwegen und mobile Geräte z.B. in Australien in einer anderen Zeitzone…

Type Inhalt Größe Besonderheiten Beispiel
Date nur Datum 3 Byte Spanne: 01.01.0001 bis 31.12.9999 10.06.1973
Time(n) nur Zeit 3-5 Byte bis zu 100 ns genau 11:32:12.222123
Datetimeoffset(n) Datum&Uhrzeit inkl. Zeitzone (ISO-8601 Standard 8-10 Byte Zeitzone, Genauigkeit bis 100 ns 10.06.1973 00:27:00.212412+01:00
DateTime2(n) Komination aus Datum&Uhrzeit 6-8 Byte Spanne wie Datum – bis 100 ns Genau 10.06.1973 00:27:00.212412
Share and Enjoy:
  • Technorati
  • Digg
  • Facebook
  • del.icio.us
  • Live
  • Google Bookmarks
  • DotNetKicks
  • DZone
  • TwitThis
  • Blogosphere News
  • Blogplay
  • LinkedIn
  • MisterWong
  • MisterWong.DE
  • MSN Reporter
  • MyShare
  • RSS
  • StumbleUpon
  • Suggest to Techmeme via Twitter
  • Tumblr
  • Twitter
  • Webnews.de
  • Yahoo! Bookmarks
  • Yigg

Mit neuer Hardware will Oracle, eigentlich Softwarehersteller und erklärter Microsoft Feind, die zentrale Verwaltung von Daten in einem Data Warehouse mit extrem hohen Leistungen und großen Speicherkapazitäten revolutionieren.
Mal sehen, was da wieder rauskommen wird.

Share and Enjoy:
  • Technorati
  • Digg
  • Facebook
  • del.icio.us
  • Live
  • Google Bookmarks
  • DotNetKicks
  • DZone
  • TwitThis
  • Blogosphere News
  • Blogplay
  • LinkedIn
  • MisterWong
  • MisterWong.DE
  • MSN Reporter
  • MyShare
  • RSS
  • StumbleUpon
  • Suggest to Techmeme via Twitter
  • Tumblr
  • Twitter
  • Webnews.de
  • Yahoo! Bookmarks
  • Yigg

Es gibt wieder ein neues Printmedium: databasepro – bekannt ist von diesem Verlag auch das dotnetpro. www.databasepro.de

Share and Enjoy:
  • Technorati
  • Digg
  • Facebook
  • del.icio.us
  • Live
  • Google Bookmarks
  • DotNetKicks
  • DZone
  • TwitThis
  • Blogosphere News
  • Blogplay
  • LinkedIn
  • MisterWong
  • MisterWong.DE
  • MSN Reporter
  • MyShare
  • RSS
  • StumbleUpon
  • Suggest to Techmeme via Twitter
  • Tumblr
  • Twitter
  • Webnews.de
  • Yahoo! Bookmarks
  • Yigg