pondělí 24. října 2011

Push notifikace a Encoding

Zrovna jsem se pral s jedním problémem při posílání Push notifikací na telefon s WindowsPhone. Příklad z Microsoft stránek fungoval v pořádku. Jakmile jsem to ale předělal na webovou službu, tak se mi najednou objevovala jedna a ta samá chyba:
MessageBadContent
A remote URL was specified in the tile notification payload and one of the following conditions was not met: 1) It was not http://, 2) the host name exceeded 256 characters, 3) the URL exceeded 2055 characters, 4) the domain was not specified in the allowed domains collection.

Zvláštní bylo, že byla stejná pro Tile i Toast zprávy. Přeci jen v Toast zprávě nejde definovat url adresu, takže špatný typ chyby :-/
Strýček Google mi ale vůbec tentokrát nepomohl. Až náhodou po několika bezesných nocích ;-) jsem si všiml drobného detailu. U testu z MS jsem používal jednoduché texty bez diakritiky, kdežto webová služba se snažila posílat reálná data. A hned byl problém jasný. Při převodu zprávy na byte jsem měl definované výchozí kódování. Bohužel to ale nebylo UTF8, jak jsem tupě předpokládal, ale Windows 1250. Stačilo jen změnit Encoding.Default na Encoding.UTF8 a všechno začalo fungovat tak jak má :-)

úterý 16. srpna 2011

Verze MSSQL

Pro zjištění aktuální verze MS SQL a případně service packu lze použít jednoduchý dotaz:

SELECT SERVERPROPERTY('productversion') as productversion
,SERVERPROPERTY('productlevel') as productlevel
,SERVERPROPERTY('edition') as edition

středa 20. července 2011

LG E900 - servisní menu

Pro zobrazení servisního menu je potřeba udělat následující:
1) vytočit ##634#
2) zadat heslo 277634#*# - nemusí vždy fungovat, existují i jiná hesla např. *#7284#
3) zobrazí se nabídka aplikace

Přes toto menu lze aktivovat možnost sdílení internetu s PC, ale bohužel jen po kabelu.
Převzato s XDA:
-You can enable Tethering: download modem drivers here: (ops..I cannot put the link...try to find "PilotesLGe900.exe" driver by your own....)
- Switch off data connections.
-Enter "Engineer menu"-->"Port settings"-->"USB Switching"-->"QC composite"
-Reboot
-Link smartphone to pc via USB cable.
-Autoinstalling of drivers.
-Into your pc select "modem settings"
-Add: + CGDCONT = 1, “IP”, “orange” (or other for your operator).
-Create "new modem connection" with this number: *99#
-On the smartphone, under "USB Switching" select "MS.." again.
-Enable data connection

pátek 21. ledna 2011

HardLink na MS Windows Serveru 2003

Vzhledem k tomu, že zde údajně nemusí korektně fungovat mklink z MS Windows Serveru 2008, hledal jsem adekvátní náhradu pro MS Windows Server 2003. Potřeboval jsem na FTP udělat hardlink pro soubor z jiného adresáře. Nakonec jsem zjistil, že to lze udělat jednoduše pomocí vestavěné podpory v command line příkazem:
c:\fsutil hardlink create

úterý 18. ledna 2011

Chybný uživatel při přesunu DB (MS SQL)

Když se přesouvá databáze MS SQL z jednoho serveru na druhý pomocí klasické operace backup -> restore, tak nastává problém s definovanými uživateli databáze, kteří nejsou vytvořeni v systémových tabulkách na novém serveru.
Problémové uživatele lze zjistit pomocí následujícího query:
USE DBname
GO

EXEC sp_change_users_login 'Report'
GO
Vypíše se seznam uživatelů s identifikátory(SID)

Dá se to obejít 2 způsoby:
1) vytvořím uživatele na novém serveru, ale nenapojím ho na databázi. Následně pomocí query:
USE DBName
GO

EXEC sp_change_users_login 'update_one''userName''userName'
GO
a tím dojde k vytvoření vazby mezi uživatelem a databází.
2) případně jednodušeji pomocí následujícího query:
USE YourDB
GO

EXEC sp_change_users_login 'Auto_Fix''userName', NULL, 'password'
GO
které uživatele vytvoří v případě, že není nalezen v systémové databázi a prováže ho s databází.