вторник, 23 июня 2009 г.

Альтернативная прошивка для фотоаппапратов Canon

http://chdk.clan.su/

SQL-ссылки (MS SQL 2005: оконные функции)

MSSQL оконные функции
http://www.rsdn.ru/article/db/WindowFunctions.xml

SQL-ссылки (постраничный вывод)

постраничный вывод
http://www.arbinada.com/main/node/463

победитель (но если рассматривать все решения то CLR будет лучше)
DECLARE @handle int, @rows int;

EXEC sp_cursoropen
@handle OUT,
'SELECT O.* FROM orders O INNER JOIN customers C ON O.customer_code = C.customer_code
WHERE C.country_code = ''IT''
ORDER BY O.product_code ASC, O.customer_code ASC, O.order_type ASC, O.qty_date ASC',
1, -- Keyset-driven cursor
1, -- Read-only
@rows OUT SELECT @rows; -- Contains total rows count

EXEC sp_cursorfetch
@handle,
16, -- Absolute row index
400001, -- Fetch from row
100000 -- Rows count to fetch

EXEC sp_cursorclose @handle;

update!
сравнительный анализ

ASP.NET-ссылки (Использование CLR в MSSQL)

хорошее описание на русском
http://www.gotdotnet.ru/LearnDotNet/Misc/339745.aspx
http://technet.microsoft.com/en-us/library/ms187540.aspx

вторник, 16 июня 2009 г.

Полезные ссылки (SQL)

Инструменты для сравнения структур и данных в БД

(версии бесплатны для частного некоммерческого использования)
dbForge Schema Compare for SQL Server
dbForge Data Compare for SQL Server
dbForge Studio for MySQL
OraDeveloper Studio

http://www.devart.com/ru/?gclid=CPvQlfbTjZsCFcwUzAodThs98g

понедельник, 15 июня 2009 г.

CLR функция для T-SQL которая возвращает таблицу

Код функции возвращающий таблицу как результат
Навеяно TSQL функцией которая строку вида '1,2,3,4,5' переворачивает в таблицу
НО! если строка большая, то начинаются дикие тормоза
Это решение подымает скорость!

=================================
using System;
using System.Data;
using System.Data.SqlClient;
using System.Data.SqlTypes;
using Microsoft.SqlServer.Server;
using System.Collections;
using System.Collections.Generic;
public partial class UserDefinedFunctions
{
private class TableResult
{
public SqlString Element;
public TableResult(SqlString element)
{
Element = element;
}
}

[SqlFunction(TableDefinition = "Element nvarchar(max)",
DataAccess = DataAccessKind.Read,
FillRowMethodName = "FillRow")]
public static IEnumerable Function1(string p)
{
ArrayList resultCollection = new ArrayList();
var ss = p.Split(new[] { ',' });
foreach (var s in ss)
resultCollection.Add(new TableResult(s));
return resultCollection;

//resultCollection.AddRange
//return (new List(p.Split(new[] { ',' }))
//.ConvertAll(s => new TableResult(s)));
}

public static void FillRow(
object Obj,
out SqlString element)
{
TableResult result = (TableResult)Obj;
element = result.Element;
}

};
===========================================

Поднять все это в MSSQL
IF EXISTS (SELECT name FROM sys.assemblies WHERE name = 'SqlServerProject2')
DROP ASSEMBLY SqlServerProject2
go

CREATE ASSEMBLY SqlServerProject2 FROM 'C:\SqlServerProject2.dll'
WITH PERMISSION_SET = SAFE -- EXTERNAL_ACCESS
GO

CREATE FUNCTION [dbo].[Function1](@p [nvarchar](max))
RETURNS TABLE (
[Element] [nvarchar](max) NULL
) WITH EXECUTE AS CALLER
AS
EXTERNAL NAME [SqlServerProject2].[UserDefinedFunctions].[Function1]
go

select * from dbo.Function1('234567,222,233,123');
go

понедельник, 1 июня 2009 г.

Обработка ошибок для ASP.NET (elmah, Health Monitoring)

Обработка ошибок для ASP.NET
http://www.hanselman.com/blog/ELMAHErrorLoggingModulesAndHandlersForASPNETAndMVCToo.aspx
Исходники
http://code.google.com/p/elmah/

Альтернатива от MS - Health Monitoring
http://habrahabr.ru/blogs/net/27847/
How To: Use Health Monitoring in ASP.NET 2.0

IVR-ссылки (AnswerDetectMachine)

Улучшатель для AnswerDetectMachine !!!
http://gotspeech.net/forums/1/6419/ShowThread.aspx

IVR-ссылки (счетчик в QA-activity)

Анализ сколько раз пользователь неправильно ввел на одном QA-activity
http://gotspeech.net/forums/thread/8606.aspx