Trick (?) z processing-instruction()

Całkiem niedawno szukając materiałów na temat przetwarzania XML znalazłem opis pewnego tricku: jeśli chcesz ładnie wyświetlić wielolinijkowy tekst wyświetlany w SSMS w siatce wyników – zastosuj taki kawałek kodu:

SELECT SomeCol AS 'processing-instruction(q)'
FROM Whatever
FOR XML PATH(''), TYPE

I tyle. Akurat ten fragment pochodzi ze strony Davida Wentzela, ale widziałem go u kilku innych osób.

No super, ale dlaczego tak i co to w ogóle oznacza? Czemu działa? I co pokazuje?
Czytaj dalej

Reklamy

SQL Server XML i zamykanie znaczników

Co zrobić, jeśli chcemy wymusić, aby SQL Server przetwarzał w XSLT dane XML w postaci np.<imie="Bartek"></imie> zamiast tak jak to jest w rzeczywistości: <imie="Bartek" />?

Z jednej strony może i niewielki problem, ale przy próbie wygenerowania HTMLa będzie to powodowało błędy w takim przypadku:

chcemy poprawnie: <script type="text/javascript" src="jquery.js"></script>,
dostajemy niepoprawnie: <script type="text/javascript" src="jquery.js" />.

Obejście znalezione na StackOverflow: można dodać komentarz między znaczniki script. Przykład (fragment większego kodu przetwarzającego, akurat ten tworzy sekcję HEAD):

SET @sXSL = N'<xsl:stylesheet version = "1.0"
xmlns:xsl = "http://www.w3.org/1999/XSL/Transform">

<xsl:template match = "/element">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></meta>
    <title>Tytul</title>
    <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
    <link href="http://fonts.googleapis.com/css?family=Monda:400,700&amp;subset=latin,latin-ext" rel="stylesheet" type="text/css" />
    <style type="text/css">
        body, p, div, ul li, td, th {font-family : "Titillium Web", sans-serif; font-size : 11pt; font-weight : normal}
        th {text-align : left;}
        th.center {text-align : center;}
    </style>
    <script src="http://code.jquery.com/jquery-1.9.1.js"><xsl:comment> </xsl:comment></script>
    <script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"><xsl:comment> </xsl:comment></script>
</head>
</xsl:template>
</xsl:stylesheet>';

W wyniku otrzymujemy fragment:

<script src="http://code.jquery.com/jquery-1.9.1.js">
<!---->
</script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js">
<!---->
</script>

Samo przetwarzanie XSLT w SQL Server to odrębny wpis – ogólnie rzecz biorąc obsługa jest przez kod napisany w C# i dołączony jako zewnętrzna biblioteka przez polecenia CREATE ASSEMBLY.

SSMS 2008 i błąd przeglądania kostek OLAP

Podczas próby przeglądania w SSMS 2008 kostek OLAP na serwerze SSAS może pojawić się błąd:

Nieprawidłowy ciąg klasy. (Exception from HRESULT: 0x800401F3 (CO_E_CLASSSTRING))

(lub zbliżony)

Naprawa:
1) Zainstalować/przeinstalować/naprawić Microsoft Office 2003 Web Components. Jeśli masz nowszego Office – zainstaluj, bo OWC nie wchodzi w skład pakietu od wersji Office 2007. Do pobrania stąd: http://www.microsoft.com/en-us/download/details.aspx?id=22276 To główna porada jaką możemy znaleźć w sieci.
2) Jak nie pomogło (u mnie nie pomogło) dodatkowo zainstaluj/przeinstaluj Analysis Services OLE DB Provider (SQLSERVER2008_ASOLEDB10.msi) stąd: http://www.microsoft.com/en-us/download/details.aspx?id=26728, Ta porada pochodzi z http://social.msdn.microsoft.com/Forums/en-US/sqlanalysisservices/thread/20cff7ec-a69f-4a98-ab8a-c736cf17b4bb/

Open file – security warning na Windows 2008

Jak wyłączyć konieczność potwierdzania uruchamiania/pobierania plików zewnętrznych w W2K8, kiedy wyskakuje okno ‚open file – security warning’? Porada znaleziona na experts-exchange.com:

  1. Otwórz konsolę Local Group Policy Edito wpisując w konsoli gpedit.msc
  2. Przejdź do User Configuration > Administrative Templates > Windows Components > Attachment Manager
  3. Wybierz Inclusion list for low file types i wprowadź swoje rozszerzenia oddzielane średnikiem (w moim przypadku wystarcza .bat)

Gotowe

Przez proxy z konsoli

Czasem zachodzi potrzeba połączenia się ze stroną internetową z poziomu konsoli windows (np. przy aktualizacji gemów w Ruby). Co zrobić, jeśli jesteśmy zmuszeni korzystać z proxy? Sposobów jest kilka, najprostszy chyba ten: ustawić zmienną środowiskową http_proxy:

set http_proxy=http://user:haslo@adres.serwera.proxy:port

Wyłącza się to poprzez

set http_proxy=

Można też rozbić wpis na kilka:

set http_proxy=http://adres.serwera.proxy:port
set http_proxy_user=user
set http_proxy_pass=haslo

Otwieranie załączników

Zdarza się, że podczas ściągania dokumentów z sieci (doc, xls, csv, …) lub np. otwierania załączników w Outlooku niechcący odznaczymy pole „Zawsze pytaj przed otwarciem pliku tego typu”. I szlag potem nas trafia, bo nie możemy znaleźć jak to przywrócić.

Przekopanie całych menu opcji, ustawień i preferencji zazwyczaj nic nie daje. Najlepiej od razu iść do miejsca, gdzie i tak jakaś opcja by grzebała.

Otwórz okno Eksploratora Windows, jeśli nie masz jakiegoś na wierzchu. Z menu wybierz Narzędzia -> Opcje folderów… a potem zakładkę „Typy plików”.

W oknie „Zarejestrowane typy plików” wybierz interesujące Cię rozszerzenie. Ja mam najczęściej problem przy plikach Excela, to szukam XLS. Po podświetleniu rozszerzenia powinien pokazać się przycisk „Zaawansowane”. Klik. Zaznacz pole „Potwierdź otwarcie po pobraniu” i pozamykaj okna klikając wszystkie „OK”.

Voila.