Windows 7: Nie można nawiązać połączenia z usługą systemu Windows (nie może połączyć z usługą powiadamiania )

2011-02-28

Po uruchomieniu systemu Windows 7 (ale podobno również Vista) po zalogowaniu się na koncie administratora można zobaczyć dymek w obszarze powiadamiania:

Nie można nawiązać połączenia z usługą systemu Windows
System Windows nie może połączyć z usługą powiadamiania o zdarzeniach systemowych. Uniemożliwia to logowanie się do systemu zwykłym użytkownikom. Jako użytkownik administracyjny możesz przejrzeć szczegółowe informacje o przyczynie braku odpowiedzi.

Dodatkowo komputer długo się uruchamia, długo się do niego loguje i nie uruchamia się wiele programów! A poprzedniego dnia wszystko działało. W takim przypadku można: Czytaj dalej »

By Rafał Kraik in Helpdesk

C# Numer partycji i dysku dla litery dysku

2011-02-28

Trzeba odnaleźć numer partycji i numer dysku dla znanej litery dyskowej. Bywa tak, że jeżeli na komputerze zainstalowanych jest kilka Windowsów, to każdy z nich twierdzi, że używa dysku C:, chociaż tak na prawdę oznaczenie literowe C: przyznaje różnym partycjom dyskowym. Poniżej fragment kodu ze strony http://bytes.com/topic/net/answers/509395-how-get-hard-disk-number-drive-letter , który pozwala wyświelić dane o partycjach i dyskach: Czytaj dalej »

Zmiana hasła dla użytkownika bazy danych MySQL z wykorzystaniem OLD_PASSWORD

2011-02-28

Z wersji MySQL 4 do wersji MySQL 5 zmianie uległ sposób działania funkcji password. Jeżeli więc zmieniasz wersję bazy danych z 4 na 5 lub zmuszony jestes do pracy ze starymi hasłami możesz użyć specjalnej funkcji o nazwie OLD_PASSWORD. Czytaj dalej »

By Rafał Kraik in Linuxy, SQL

MySQL – baza danych z polskimi znakami

2011-02-28

Producent oprogramowania zażyczył sobie, aby baza danych mySQL pracowała z kodowaniem znaków cp1250.

Polecenie zakładające bazę danych pracującą domyślnie z zestawem znaków w CP 1250 wygląda następująco:

CREATE DATABASE faktury DEFAULT CHARACTER SET cp1250; Czytaj dalej »

Jak przekazać tabelę jako parametr do funkcji lub procedury SQL?

2011-02-20

Może się zdarzyć, że procedura składowana ma pracować na danych znajdujących się w zmiennej będącej tabelą. Taką tabelę można przekazać do funkcji UDF lub  procedury składowanej jako parametr.

Najpierw utworzymy specjalny TYP. Ten typ definiuje zmienne typu TABLE. Potem deklarujemy zmienną tego typu i już można wstawiać do niej rekordy i wyświetlać je:

CREATE TYPE TableType AS TABLE
(LocationName VARCHAR(50))
GO
DECLARE @myTable TableType
INSERT INTO @myTable(LocationName) VALUES(’aaa’)
SELECT * FROM @myTable

Aby utorzyć procedurę, która na wejściu otrzyma tę tabelę jako parametr musisz jasno zdefiniować, że przekazywana zmienną tabela jest READONLY:

CREATE FUNCTION Example( @TableName TableType READONLY)
RETURNS VARCHAR(50)
AS
BEGIN
DECLARE @name VARCHAR(50)
SELECT TOP 1 @name = LocationName FROM @TableName
RETURN @name
END

Teraz pozostaje skorzystać z tej funkcji

DECLARE @myTable TableType
INSERT INTO @myTable(LocationName) VALUES(’aaa’)
SELECT * FROM @myTable
SELECT dbo.Example(@myTable)

W ten sposób przekazałeś do funkcji tabelę, a otrzymujesz wartość skalarną.

By Rafał Kraik in SQL

Jaka jest różnica między SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED a Query Hint NOLOCK?

2011-02-20

Na poziomie połączenia z serwerem SQL można zadeklarować tzw. Transaction Isolation Level. Zależnie od wybranego poziomu transakcje dokonują blokad przy odczycie rekordów lub nie i czytając uwzględniają albo ignorują inne nałożone na rekordy blokady.

Najsłabszym poziomem izolacji transakcji jest READ UNCOMMITTED. Jeżeli w swoim skrypcie na początku zapiszesz:

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
GO

to twoje SELECT-y będą widziały dane zapisane przez inne jeszcze niezakończone transakcje. Jeżeli pracowałbyś na domyślnym poziomie izolacji transakcji READ COMMITTED, to twój SELECT zatrzyma się o ile będzie chciał przeczytać rekord zmodyfikowany przez inną nie zatwierdzoną transakcję.

Bardzo podobnie działa query hint NOLOCK. On również pozwala na odczytanie niezatwierdzonych zmian.

Jaka jest wobec tego różnica między NOLOCK, a izolacją READ UNCOMMITTED? Czytaj dalej »

By Rafał Kraik in SQL

Generowanie losowego znaku, napisu lub liczby w c#

2011-02-20

To dziwne, ale niekiedy w programie trzeba wygenerować coś przypadkowego. Może chodzi o jakiś klucz zabezpieczeń, jakieś hasło, może zmieniający się z sesji na sesję token itp. W takim przypadku lepiej zdać się na dopracowane metody generowania liczb pseudolosowych wbudowanych w .NET. Czytaj dalej »