neljapäev, 19. august 2010
Mitte iga pakkfaili op.süsteemi käsurea käsku ei saa SQL SERVER-i tööna jooksutada
Seadistab SQL Server Agent-i alt töö ära Type = Operating System (CmdExec) ja tõmbab pakkfaili sisu Command aknasse sisse (asja mõte kustutada D:\TEMP kataloogist kõid PDF ja DOC failid)
d:
cd \temp
del *.pdf
del *.doc
aga töö jooksutamisel tuleb selline viga ette
The process could not be created for step 1 of job 0x... (reason: 5). The step failed.
Kui nüüd teha SQL Server Agent-ile proxy ja mandaat ja käivitada töö sobiva kasutaja õigusega saad ikka sama vea
Häda selles, et Server Agentile kõik käsurea asjad ka seeditavad pole, ehk
d:
mis muidu vahetab käsureal kettaseadet aga SQL Server Agentile kohe mitte ei meeldi ja veateadet pillubki
Lahendus 1 (kustuta otse kataloogi nime ette andes)
del d:\temp\*.pdf
del d:\temp\*.doc
Lahendus 2 (tee kettaseadme vahetus cd käsuga)
cd d:
cd \temp
del *.pdf
del *.doc
teisipäev, 17. august 2010
pages smartNavigation="True" IE8-ga enam ei tööta
Samas Firefox, Opera, Safari ei kobise smartNavigation="True" peale midagi.
Lahendus on kasutada uuemat direktiivi maintainScrollPositionOnPostBack="True"
reede, 6. august 2010
VisualStudio 2010 debugeri käima ajamine JavaScripti jaoks IE8-ga
,et nii IE8 seadetest Options -> Advanced -> Browsing -> märkeruut "Disable Script debugging" on maha võetud ja VisualStudio2010 Solution Property Pages -> Start Options on degugimine märgitud nii nagu vaja aga ikka keeldub JavaScripti silumast võib abi olla sõna
"debugger" kirjutamisest otse JavaScripti koodi no näiteks nii
function onSucceed(result, userContext, methodname) {
debugger;
if (KOnimet != null) {
KOnimet.value = result;
}
else {
if (result.length > 0) {
alert(result);
}
}
}
teisipäev, 8. juuni 2010
ScriptManageri EnableHistory="true" töötamine IE8 peal
<asp:scriptmanager id="ScriptManager1" runat="server" enablehistory="true" enablesecurehistorystate="true" >
</asp:scriptmanager>
aga IE8 peal hakkab kisama selliseid vigu, kollane hüüumärk all vasaskus servas
Sys.InvalidOperationException: For the history feature to work in IE, the page must have an iFrame element with id '__historyFrame' pointed to a page that gets its title from the 'title' query string parameter and calls Sys.Application._onIFrameLoad() on the parent window. This can be done by setting EnableHistory to true on ScriptManager
Vea põhjus seekord see , et ASPX lehel DOCTYPE määrab lehele HTML 4.01 direktiivi
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
aga vaja läheb XHTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
kolmapäev, 2. juuni 2010
DBCC FREEPROCCACHE kaudu läbi ADO.NET kaudu salvestatud protseduuri jooksutamisele vungi sisseandmine
MS SQL SERVER-is korra protseduuride vahemälu tühjaks tõmmata
DBCC FREEPROCCACHE
Hoiatatakse küll, et ärge kasutage aga lõpptulemusena saad ka läbi ADO.NET välja kutsutud protseduuri kiiresti käima.
Soovitatav lahendus aga sellistel juhtumistel on SP poolt parameetrite arvamine ära lõpetada, ehk teisenda protseduuri parameetrid lokaalseteteks muutujateks
CREATE PROCEDURE ParameetriArvamine
@nimetus NVARCHAR(10)
WITH RECOMPILE
AS
DECLARE @nimetus1 NVARCHAR(10)
--teeme parameetri teisendamise, et SQL SERVER oskaks õiget käivitusplaani teha
SET @nimetus1 = @nimetus
SELECT id, nimi FROM SinuTabel WHERE nimi = @nimetus1
teisipäev, 18. mai 2010
ConnectionString seadete ülevõtmine virtuaalkataloogide puhul
260 <location path="DEMO">
261 <connectionStrings>
263 <add name="TkConnectionString" connectionString="Data Source=SQLSERVER;Min Pool Size=2;Initial Catalog=DEMO-BAAS;Application Name=DEMORAKENDUS;User ID=DEMO_KASUTAJA;Password=seeseGane234ja2342keeRuline" providerName="System.Data.SqlClient"/>
269 </connectionStrings>
Kõik nagu õige aga VirtualDirectoryst asja käima tõmmates pistab kisama, et va
"TkConnectionString" on juba olemas. Kuna see ConnectionStringide osa on
tõepoolest varem kirja pandud. Lahendus asjale see, et algne ConnectionString osa
tuleb mappida
29 <location inheritInChildApplications="false">
vahele näiteks niimoodi
29 <location inheritInChildApplications="false">
30 <connectionStrings>
31 <add name="TkConnectionString" connectionString="Data Source=SQLSERVER;Min Pool Size=2;Initial Catalog=BAASE;Application Name=OIGERAKENDUS;User ID=ORIGINAAL;Password=ikka97raSke76ja3536keerUline" providerName="System.Data.SqlClient"/>
32 </connectionStrings>
33 </location>
Nüüd nii, et VirtualDirectory-s olevasse rakendusse pöördumisel võtab teise andmebaasi ühenduse külge, ehk selle mis
261 <location path="DEMO">
osa sees kirjas on. VirtualDirectorys olevas web.config failis jätad ConnectionStrings osa üldse ära.
neljapäev, 8. aprill 2010
IE-l on Request.UrlReferrer null JavaScriptiga ümbersuunamise puhul
string scriptString = "<script type=text/javascript> alert('"Uuele lehele "');window.location='UusLeht.aspx';</script>";
window.location='UusLeht.aspx' teeb ümbersuunamist
lisame JavaScripti dünaamiliselt lehele
if (!this.Page.ClientScript.IsClientScriptBlockRegistered("clientScript"))
{
this.Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "clientScript", scriptString);
}
peale sellist ümbersuunamist on UusLeht.aspx lehe peal IE puhul this.Request.UrlReferrer null
Asendusena võib kasutada seda, et GET päringule paned lisaks referer=KustMaTulen.aspx
aga see ei pidavat turvafiltritele meeldima, võimalik turvarisk