Google da ara

 

Eylül 2010
Pts Sal Çar Per Cum Cts Paz
« Ağu    
 12345
6789101112
13141516171819
20212223242526
27282930  

Google Reklamları

Dil Seçimi

Bağış yada Ödeme

YYToolkit – Sql Management Studio Lite

Sql 2008 ile birlikte management studio nun da hard diskde kapladığı yerde bir hayli arttı. İnternette barınan sunucunuza Sql sorgusu yapabilmek için ya management studionuz olması gerekiyor yada kendi yazdığınız bir program aracılığı ile bu işlemi yapabilirsiniz, biraz daha expert olduğunuzda sql command prompt ile de sorgu çalıştırabilirsiniz ancak çoğu zaman ufak bir sorgu çalıştırmak için management studio kurmak, hard diskde kapladığı yer bakımından oldukça maliyetli olabiliyor.  Bu gibi durumlarda yardımcı olması için Sql Management Studio Lite edition adında ufak bir programcık geliştirdim.

Uygulama çok basit bir şekilde herhangi bir db server  a bağlanıp serverdaki db leri ve içerisindeki tabloları listeliyor. Burdan tabloları görüp sorgu çekebiliyorsunuz.

İndirmek için :

YYToolkit – Sql Management Studio Lite (ClickOnce)

SqlDependency – Sürekli bildiri gönderme problemi

SqlDependency ile yaptığım ilk test te karşıma çıkan bir problemi paylaşmak istedim.

Yazdığım kod aşağıdaki gibiydi. Ancak sürekli cache yenileme bloğuna düşüyordu ve sorunu çözmek için şu adresten koşulları sağladığıma emin olmaya çalıştım, adreste yazılanlara göre herhangi bir problem görünmüyordu sonra sorgumda bulunan alanları değiştirdim, bir kaç sildim , bir kaç alan ekledim değişen bir şey yoktu. En sonunda [yy_commerce] yazan db adını sorgudan çıkardım ve sorun çözüldü.

Çalışan Sorgu:

SELECT  [oid],[TimeStamp] from [dbo].[Bilgisayar_CatalogProducts] WHERE i_ClassType = 4

Çalışmayan Sorgunun bulunduğu kod:


protected void Page_Load(object sender, EventArgs e)
{

if (HttpContext.Current.Cache["myc"] == null)
{

using (SqlConnection connection =
new SqlConnection(GetConnectionString()))
{
using (SqlCommand command =
new SqlCommand(GetSQL(), connection))
{
SqlCacheDependency dependency =
new SqlCacheDependency(command);

SqlDependency.Start(GetConnectionString());
connection.Open();
DataTable dt=  new DataTable();
SqlDataAdapter da = new SqlDataAdapter(command);
da.Fill(dt);

Label1.Text = "Cache Refresh: " +
DateTime.Now.ToLongTimeString();
HttpContext.Current.Cache.Insert("myc", dt, dependency);
}
}
}
ASPxGridView1.DataSource = HttpContext.Current.Cache["myc"];
ASPxGridView1.DataBind();
}

private string GetSQL()
{
return "SELECT  [oid],[TimeStamp] from [yy_commerce].[dbo].[Bilgisayar_CatalogProducts] WHERE i_ClassType = 4";

}

private string GetConnectionString()
{
return "server = .;Integrated security=SSPI; database=yy_commerce";
}

Sonsuz Kategori Mantığı ve Devexpress TreeList üzerinde gösterimi

Get the Flash Player to see this player.

Video sonsuz kategori mantığının bir tablo üzerinde uygulanması ve Devex TreeList i üzerinde gösterimini anlatmaktadır. Ayrıca çok kısa bir şekilde foreignkey lerin işlevinede değinilmiştir.

Video ile ilgili örnek daha sonra eklenecektir.

Sql Server – Detach

detach1

Detach Sql server üzerinde kullanmadığımız veritabanlarını kaynak tüketimini azaltmak adına silmeden, mdf ve ldf dosyalarını korumak kaydıyla Sql Server üzerinden kopartmak için kullanılır.
Sql Management Studio ile bu işlemi :
Database üzerinde sağ tıklayıp, Tasks kısmından Detach… a tıklayarak yapabiliriz.
Burda db üzerine bağlı connection ları da kopartmak için gelen ekrandaki Drop Connections kısmını işaretleyebiliriz.

SQL SELECT INTO

Select Into bir tablodan verileri alarak başka bir tablo oluşturmaya yarayan bir sql cümlesidir.

Genellikle tabloların backuplarını almak için kullanılmaktadır.

SQL SELECT INTO Yazımı:

Tüm kolonlardan yeni bir tablo oluşturabiliriz :

SELECT *
INTO yeni_tablo_adi [IN harici_veritabani]
FROM eski_tablo_adi

Yada sadece belirlirli kolonlardan yeni bir tablo oluşturabiliriz:

SELECT kolon_adi1,kolon_adi2
INTO yeni_tablo_adi [IN harici_veritabani]
FROM eski_tablo_adi

Kaynak: http://www.w3schools.com/Sql/sql_select_into.asp

Multi Parameter > Where IN clause

 SQL Split UDF:

if exists (select * from dbo.sysobjects where id =
object_id(N'[dbo].[UTILfn_Split]') and xtype in (N'FN', N'IF', N'TF'))
drop function [dbo].[UTILfn_Split]
GO

create function dbo.UTILfn_Split(
@String nvarchar (4000),
@Delimiter nvarchar (10)
)
returns @ValueTable table ([Value] nvarchar(4000))
begin
declare @NextString nvarchar(4000)
declare @Pos int
declare @NextPos int
declare @CommaCheck nvarchar(1)

set @NextString = ''
set @CommaCheck = right(@String,1)

--Check for trailing Comma, if not exists, INSERT
if (@CommaCheck <> @Delimiter )
set @String = @String + @Delimiter

--Get position of first Comma
set @Pos = charindex(@Delimiter,@String)
set @NextPos = 1

--Loop while there is still a comma in the String of levels
while (@pos <> 0)
begin
set @NextString = substring(@String,1,@Pos - 1)

insert into @ValueTable ( [Value]) Values (@NextString)

set @String = substring(@String,@pos +1,len(@String))

set @NextPos = @Pos
set @pos = charindex(@Delimiter,@String)
end

return
end

--------

DECLARE @params nvarchar(100)
SET @params='962, 979, 971'

select * from dbo.TABLETEST
where ID IN (select * from dbo.UTILfn_Split(@params,','))

Kaynak

Sql Compare

Red-Gate Firması tarafından geliştirilen Sql Compare iki database arasındaki schema farklılıklarını (table,view,sp,trigger vb.) karşılaştırarak aktarım yapmayı sağlayan güzel bir program.

adresi : Sql Compare