czwartek, 7 sierpień 2008

mssql 2008

I już można pobierać :-)

DVD Image: http://sqlserver.dlservice.microsoft.com/dl/download/9/C/0/9C036510-3218-4258-8B03-67DC1D6A497C/SQLFULL_ENU.iso?lcid=1033

wtorek, 8 lipiec 2008

MCSD && MCAD

No i stało się:

"

If you are pursuing a Microsoft Certified Application Developer (MCAD) or Microsoft Certified Solution Developers (MCSD) certification, we encourage you to finish it within the next twelve months. On March 31, 2009, Microsoft Learning will retire 12 exams that focus on developer and Microsoft SQL Server technologies."


Ciekawe kiedy napiszą tak o mcts .net 2.0...

piątek, 4 lipiec 2008

Linq - Specified cast is not valid.

Często zdarza się, że w trakcie wstawiania/aktualizacji rekordów rzucany jest błąd: "

Specified cast is not valid."

nieszczęśliwie stos niczego ciekawego nie pokazuje. Dotarcie do przyczyny zajmuje trochę czasu a i google początkowo nie pokazuje odpowiednich wyników.

Mi udało się przegrzebać przez wyniki wyszukiwania i odpowiedź jest dość śmieszna:

Jeśli tabelka aktualizowana ma klucz obcy, do innej tabelki, której klucz główny nie jest liczbą, to klops. Ogólne przesłanie -> nie używać kluczy głównych w formie np. guid. Tylko sztuczne są dobre :-)

czwartek, 3 lipiec 2008

Kiedy są problemy z ID

11.10.2007 at 01:43AM PST, ID: 20255081

Rank: Sage

Sorry, my mistake. Scope-identity doesn't work with acces

Did you try SELECT @@IDENTITY

Example
public Client CreateClient( string name )
{
OleDbCommand command = null;
Client c = new Client();
c.Name = name;

try
{
command = Connection.CreateCommand()
;
command.CommandText = "insert into Clients (name) values(@name)";
command.Parameters.Add("@name",name);
command.ExecuteNonQuery();
// Retrieve ID
command.CommandText = "SELECT @@IDENTITY";
c.ID = Int64.Parse(command.ExecuteScalar().ToString());
return c;
}
finally
{
command.Dispose();
}

wtorek, 3 czerwiec 2008

HttpWebRequest i inni.

A więc dzisiaj potrzebowałem napisać aplikacyjkę do tray-a, żeby testować czy serwer działa - dłuższa historia po co. Pisany kod odczytywał jeden z plików z serwera i jeśli powiodło się, informował, że wszystko jest ok.

Niestety po kilku pętlach otrzymywałem exception Time out. Dochodzenie wskazało:

HttpWebRequest wr = (HttpWebRequest)WebRequest.Create(url + "?a=" + DateTime.Now.Ticks);
wr.ContentType = "application/x-www-form-urlencoded";
wr.KeepAlive = false;
wr.Method = "GET";
wr.MaximumAutomaticRedirections = 5;
wr.AllowAutoRedirect = true;
wr.Timeout = 6000;
wr.ReadWriteTimeout = 6000;
wr.CachePolicy = new System.Net.Cache.RequestCachePolicy(System.Net.Cache.RequestCacheLevel.NoCacheNoStore);
using (HttpWebResponse response = (HttpWebResponse)wr.GetResponse())
{
WebHeaderCollection headers = response.Headers;

if (response.StatusCode == HttpStatusCode.OK && !isLastVisible || isFirstTime)
{
isFirstTime = false;
ShowMessage("Serwis moto działa!", ToolTipIcon.Info);
isLastVisible = true;
ChangeIcon(true);
}
response.Close();
}

response.Close() -> winny. Prawdopodobnie response.Close() może zniknąć z tego kawałka bo using je wywoła samoczynnie, ale skoro teraz działa, to nie będę kombinował.

piątek, 30 maj 2008

System.Data.SqlClient.SqlException: Login failed for user 'MachineName\ASPNET'

Maj się kończy, a wpisów na blogu niezbyt wiele :-)

Dziś tylko informacja o problemie, na który napotyka się co jakiś czas, mianowicie:

System.Data.SqlClient.SqlException: Login failed for user 'MachineName\ASPNET'


Znalazłem rozwiązanie, aczkolwiek nie do końca bezpieczne:

sp_addrolemember 'db_owner', 'MachineName\ASPNET'

Jednak dla maszyny developerskiej nie powinno być problemu.

poniedziałek, 5 maj 2008

Unable to evaluate expression because the code is optimized or a native frame is on top of the call stack

No i stało się:

Unable to evaluate expression because the code is optimized or a native frame is on top of the call stack


skąd to? Po poszukiwaniach, kombinacjach, znalazłem:
re: Unable to evaluate expression because the code is optimized or a native frame is on top of the call stack
by shakeel khan December 10, 2006 @ 4:59 pm

Hi,
I am getting same problem with "Unable to evaluate expression because the code is optimized or a native frame is on top of the call stack."
And always occurs even if there is no error
I used finally block and initialize bool variable in catch block and used in finally block.
Have a look code

try
{
Response.Redirect(Request.Path + "?result=submitted");

// if you using Response.Redirect or Server.Transfer in Try block you will get these error
"Unable to evaluate expression because the code is optimized or a native frame is on top of the call stack." It’s .Net bugs.

}

catch
{
this._response = false;
// Response.Redirect(Request.Path + "?result=error");
}
finally
{
if(_response)
Response.Redirect(Request.Path + "?result=submitted");
else
Response.Redirect(Request.Path + "?result=error");
}
Eh :-) I wiecie co jest najgorsze? Że faktycznie przeniesienie redirect-a poza try..catch pomogło.