0×80570001 (NS_ERROR_XPC_NOT_ENOUGH_ARGS)

Deze melding  ziet eruit alsof er heel wat aan de hand is, maar dat valt wel mee. De melding wordt veroorzaakt door de javascript alert() functie aan te roepen zonder een string mee te geven:


alert();

Dit gaat al een stuk beter


alert("Vergeet je tekst niet");

TF30063: You are not authorized to access Microsoft-IIS

Deze foutmelding kreeg ik vandaag een paar keer te zien, na wat googlen blijkt dat deze foutmelding wordt veroorzaakt door Selenium-RC. Die past tijdens de installatie een instelling van Internet Explorer aan.

Dit is als volgt op te lossen:

Open  Internet Explorer, ga naar “Internet Options”… “Connections” tab… “LAN Settings” knop, zet het vinkje uit voor “Use a proxy server for your LAN (These settings will not apply to dial-up or VPN connection).”

Google font-api

Hoe cool is dit, eindelijk een makkelijke manier om custom fonts op je site te gebruiken:

Het volledige artikel op nettuts+

HTML 5 features die je nu al kan toepassen

HTML 5 lijkt misschien nog erg ver weg maar je je kan er al stukjes uit gebruiken.

Met dank aan NetTuts+

Search all tables

Als je niet weet in welke tabel een bepaalde tekst string in een SQL database staat dan kan de volgende stored procedure je verder helpen.

Deze zoekt namelijk op basis van een zoek string parameter heel je database door op zoek naar deze string en toon in welke tabellen deze voorkomt.

Deze credits voor deze stored procedure gaan naar Narayana Vyas Kondreddi


CREATE PROC SearchAllTables
(
	@SearchStr nvarchar(100)
)
AS
BEGIN

	-- Copyright © 2002 Narayana Vyas Kondreddi. All rights reserved.
	-- Purpose: To search all columns of all tables for a given search string
	-- Written by: Narayana Vyas Kondreddi
	-- Site: http://vyaskn.tripod.com
	-- Tested on: SQL Server 7.0 and SQL Server 2000
	-- Date modified: 28th July 2002 22:50 GMT

	CREATE TABLE #Results (ColumnName nvarchar(370), ColumnValue nvarchar(3630))

	SET NOCOUNT ON

	DECLARE @TableName nvarchar(256), @ColumnName nvarchar(128), @SearchStr2 nvarchar(110)
	SET  @TableName = ''
	SET @SearchStr2 = QUOTENAME('%' + @SearchStr + '%','''')

	WHILE @TableName IS NOT NULL
	BEGIN
		SET @ColumnName = ''
		SET @TableName =
		(
			SELECT MIN(QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME))
			FROM 	INFORMATION_SCHEMA.TABLES
			WHERE 		TABLE_TYPE = 'BASE TABLE'
				AND	QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME) > @TableName
				AND	OBJECTPROPERTY(
						OBJECT_ID(
							QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME)
							 ), 'IsMSShipped'
						       ) = 0
		)

		WHILE (@TableName IS NOT NULL) AND (@ColumnName IS NOT NULL)
		BEGIN
			SET @ColumnName =
			(
				SELECT MIN(QUOTENAME(COLUMN_NAME))
				FROM 	INFORMATION_SCHEMA.COLUMNS
				WHERE 		TABLE_SCHEMA	= PARSENAME(@TableName, 2)
					AND	TABLE_NAME	= PARSENAME(@TableName, 1)
					AND	DATA_TYPE IN ('char', 'varchar', 'nchar', 'nvarchar')
					AND	QUOTENAME(COLUMN_NAME) > @ColumnName
			)

			IF @ColumnName IS NOT NULL
			BEGIN
				INSERT INTO #Results
				EXEC
				(
					'SELECT ''' + @TableName + '.' + @ColumnName + ''', LEFT(' + @ColumnName + ', 3630)
					FROM ' + @TableName + ' (NOLOCK) ' +
					' WHERE ' + @ColumnName + ' LIKE ' + @SearchStr2
				)
			END
		END
	END

	SELECT ColumnName, ColumnValue FROM #Results
END

Search and Replace SQL Server 2005+

Zo eindelijk een search en replace functie gevonden voor SQL server 2005+ die geen tijdelijke tabellen en cursors gebruikt:


UPDATE TableName
SET DBTextField = REPLACE(CAST(DBTextField AS varchar(MAX)), 'SearchText', 'ReplaceText')
FROM TableName
WHERE CHARINDEX('SearchText',CAST(DBTextField as varchar(MAX)))>0 

ASP.NET client-side Page.IsValid

Als je client-side de Page.IsValid property client-side wil controlleren kan de globale variabele “Page_IsValid” worden gebruikt.

om de client-side pagina validatie uit te voeren kan de functie “Page_ClientValidate();” worden aangeroepen.


Page_ClientValidate();

if (Page_IsValid ) {
//some JS
}

Meer informatie op msdn.

‘A connection could not be made to the report server’

Deze fout wordt ontstaat wanneer er een verkeerde TargetServerURL in the Business Intelligence (BI) project is gezet van Reporting Services applicatie.

Controleer de  TargetServerURL in het property scherm van je BI project. Check dat deze URL verwijst naar de ReportServer virtual directory en niet naar de Reports virtual directory (wat vaak de oorzaak is van deze fout).

bijvoorbeeld http://Mijnserver/ReportServer$SQL2005DEV/ en niet http://Mijnserver/Reports$SQL2005DEV/

Moet een website er in elke browser hetzelfde uitzien?

Een interessante kijk op browser support:

If a web browser is defective, causing errors in the display or performance of the page, should the page developer struggle to hide the browser’s defects, or should the defects be revealed in hope of creating market pressure to force the browser maker to make good? By which approach is humanity better served?

Voor steeds groter groeiende groep webdevelopers is dit antwoord nee.

Ik ben het wel eens met de auteur van het gelinkte artikel. Zijn mening is wat gematigder dan de quote hierboven. Op de vraag “Als je met de CSS3 tag “box-shadow” de look en feel van een site drastisch kan verbeteren maar deze wordt niet ondersteund door IE, zou je deze dan toepassen?”. Zijn antwoord hierop: Ja.

Het idee hierbij is dat gebruikers die een browser gebruiken die deze tag wel toepassen zien de versie met schaduw. Gebruikers die een browser gebruiken die de tag niet ondersteund, zien de schadow niet, maar weten eigenlijk ook niet wat ze missen. En functioneel gezien is de website hetzelfde.

Ik kan me hier goed in vinden. Tevens biedt het webdevelopers de mogelijkheid  te experimenteren met de nieuwe mogelijkheden van CSS 3 en op zo dus de vooruitgang op webgebied te stimuleren. Want als we moeten wachten totdat alle browser CSSs 3 ondersteunen dan zitten we over 5 jaar nog steeds te klooien met CSS 1.en hack om de boel te laten werken in IE.

Vertical text in non-IE browsers.

Het tonen van verticale tekst via CSS is alleen weggelegd voor IE Browsers middels de volgende CSS3 regels:


writing-mode: tb-rl;
filter: flipv fliph;

Dit is een mooie manier om bijvoorbeeld tabel headers verticaal weer te geven. Maar helaas wordt deze CSS regel tot nu toe alleen toegepast in IE browsers. Om dit ook in non-IE browsers mogelijk te maken, gebruikt men vaak dynamisch gegenereerde images met de gewenste tekst.

Dit werkt natuurlijk ook maar het zorgt wel voor extra belasting op de webserver, tevens is dit lastig te onderhouden. Op zoek naar een betere oplossing, kwam ik een oplossing tegen die gebruik maakt van een statisch svg object met daarin een javascript welke de verticale text zet. Dit is al een betere oplossing alleen het aanroepen van de javascript binnen het svg object is niet erg netjes. Daarnaast moet op elke plek waar je verticale tekst wil gebruiken de svg toevoegen via de <embed> tag.

De oplossing voor dit probleem heb ik gevonden door met behulp van de jQuery SVG plugin deze svg zelf te genereren:


function SetVerticalText() {
    var verticalTexts = $(".verticalText");

    verticalTexts.each(function() {
        var text = $(this).text();
        $(this).text("");

        if (!$.browser.msie) {
            $(this).append("<div class='svgContainer'></div>");
            $(this).find(".svgContainer").svg();
            var svg = $(this).find(".svgContainer").svg('get');
            svg.text(null, -48, 12, text, { transform: 'rotate(270, 50, 50)', 'font-family': 'Arial', 'font-size': '10', 'letter-spacing': '2' });
        }
        else {
            $(this).append("<span class='verticalTextSpan'>" + text + "</span>");
        }
    });
}

Hier bij geef ik alle tekst elementen die ik verticaal wil weergeven de CSS class .verticalText bijvoorbeeld in mijn table headers:


<table cellpadding="0" cellspacing="0" class="statusTable width700" >
<tr>
<td class="labelCell">
NFP-SC
</td>
<td class="verticalText">
Digitaal initieel
</td>
<td class="verticalText">
Digitaal ingediend
</td>
<td class="verticalText">
Papier ingediend
</td>
<td class="verticalText">
Direct afgewezen
</td>
</tr>
</table>

Wanneer ik nu de SetVerticalText() aanroep, wordt er voor alle non-IE browsers een <div class=’svgContainer’></div> toegevoegd. Vervolgens wordt er middels de jQuery SVG plugin een svg object aangemaakt met daarin de verticale tekst.

Voor IE-browsers wordt er een <span class=’verticalTextSpan’></span> tag toegevoegd met daarin de verticale tekst.

Een demo van deze techniek.

svgDemo Source (73)