WITH cte AS (
SELECT
contact_id,
first_name,
last_name,
email,
ROW_NUMBER() OVER (
PARTITION BY
first_name,
last_name,
email
ORDER BY
first_name,
last_name,
email
) row_num
FROM
sales.contacts
)
DELETE FROM cte
WHERE row_num > 1;
YEDEK KOPYALAMA
Talep: Logo – Sql Data’nın yedeklediği klasordeki isteğe bağlı en güncel yedeği (en güncel 1 dosyayı ) networkde sürücüye atanmış başka bir yere kopyala. (Not:Aynı dosya orada var ise kopyalamasın).
Yapı: Exeye parametre gönderilince kopyalama işlemini yapıp exeyi kapatacak. öncesinde source folder(kaynak klasör) ve destination folder(hedef klasör) belirlemek için exe direk çalıştırılır. Son olarak windows task schedulera(windows görev yöneticisi) ekleme yaparak exeye parametreli gönderimle istenilen zamanda çalışması için ayarlar yapılır.
Ayar Ekranı(indir -113kb ) :

Logo Satınalma faturalarını Sql üzerinden Sil
Önemli: İşlem öncesi yedek alınsın ne olur ne olmaz. Siparişten faturaya dönüşen satınalma faturaları , kasadan oluşan satınalma faturaları vb. varsa bu işlem tavsiye edilmez.
delete LG_101_01_CLFLINE WHERE MODULENR=4 AND TRCODE=31 AND SOURCEFREF IN
( select I.LOGICALREF from LG_101_01_INVOICE I WHERE I.TRCODE='1'/*SATINALMA FATURASI ,7=TOPTAN SATIS FATURASI*/ AND GENEXP2='FIS')
delete LG_101_01_PAYTRANS WHERE MODULENR=4 AND TRCODE=1 AND FICHEREF IN
( select I.LOGICALREF from LG_101_01_INVOICE I WHERE I.TRCODE='1'/*SATINALMA FATURASI ,7=TOPTAN SATIS FATURASI*/ AND GENEXP2='FIS')
delete LG_101_01_STLINE WHERE INVOICEREF IN
( select I.LOGICALREF from LG_101_01_INVOICE I WHERE I.TRCODE='1'/*SATINALMA FATURASI ,7=TOPTAN SATIS FATURASI*/ AND GENEXP2='FIS')
delete LG_101_01_STFICHE WHERE INVOICEREF IN
( select I.LOGICALREF from LG_101_01_INVOICE I WHERE I.TRCODE='1'/*SATINALMA FATURASI ,7=TOPTAN SATIS FATURASI*/ AND GENEXP2='FIS')
delete LG_101_01_INVOICE WHERE TRCODE='1'/*SATINALMA FATURASI ,7=TOPTAN SATIS FATURASI*/ AND GENEXP2='FIS'
C# Windows Get Assembly Path
Wİndows service ‘de exenin bulundugu yere bazen ulaşmada sıkıntı olabiliyor. (windows klasorunu görüyor servisler bazen) . Örnek exe klasorunde dosyaya erişimde yaşanan sıkıntı ….
string pathofService = System.IO.Path.GetDirectoryName(new System.Uri(System.Reflection.Assembly.GetExecutingAssembly().CodeBase).LocalPath)+@"\";
/*or*/
string pathofService = AppDomain.CurrentDomain.BaseDirectory ++@"\";
c# unique bir numara oluşturmak için (zaman üzerinden)
numarator
DateTime.Now.ToString("yyyyMMddHHmmss").ToString();
DateTime.Now.ToString("yyyyMMddHHmmssFF").ToString()
DateTime.Now.ToString("yyyyMMddHHmmssfff").ToString()
ORACLE SQL SERVER LINKED SERVER SORU İŞARETİ SORUNU
YAPI: ODBC ORACLE UZERINDEN SQL SERVERE LINK SERVER ATILMAKTA.
SQL SERVERDE SELECT CEKINCE (LINKED SERVER) ASAGIDAKI GIBI TURKCE KARAKTER SORUNLARI OLMAKTA,

ÇÖZÜM:
CONTROL PANEL->ADMINISTRATOR SETTINSDE ODBC 64 BIT->WORKAROUNDS -> FORCE SQL_WCHAR SUPPORT TIKINI KOY:

C# SQL SERVER TARIH MANTIGI
private dynamic GETDOVIZKURU(DateTime TARIH, bool isISLEMDOVIZI = false/*VARSAYILAN RAPORLAMA DOVIZI*/, string DOVIZCINSI = "20"/*20EURO*/)
{
string RESULT = "0";
int yil = TARIH.Year;
int ay = TARIH.Month;
int gun = TARIH.Day;
/*CONVERT(datetime, '22.12.1987' ,104 )
*/
string casteddate = "CONVERT(datetime, '"+gun.ToString()+"."+ay.ToString()+"."+yil.ToString()+"' ,104 )";
string RATE = isISLEMDOVIZI == true ? "RATES4" : "RATES1";
RATE = "RATES4";
try
{
//RESULT = SELECT2("SELECT TOP 1 " + RATE + " FROM LG_EXCHANGE_" + CFG.FIRMNR + " WITH(NOLOCK) WHERE YEAR(EDATE)<=" + yil + " AND MONTH(EDATE)=" + ay + " AND DAY(EDATE)=" + gun + " and CRTYPE=" + DOVIZCINSI + " /*EURO*/ ORDER BY EDATE DESC ", new SqlConnection(CONSTR_LG)).Rows[0][0].ToString();
RESULT = SELECT2("SELECT TOP 1 " + RATE + " FROM LG_EXCHANGE_" + CFG.FIRMNR + " WITH(NOLOCK) WHERE CONVERT(datetime, EDATE ,104 )<="+ casteddate + " and CRTYPE=" + DOVIZCINSI + " /*EURO*/ ORDER BY EDATE DESC ", new SqlConnection(CONSTR_LG)).Rows[0][0].ToString();
}
catch { }
return RESULT.Replace(",", ".");
}
Tarih Zaman : _SYNCDATE = SYNCDATE.Day.ToString() + “/” + SYNCDATE.Month.ToString() + “/” + SYNCDATE.Year.ToString() + ” ” + SYNCDATE.Hour.ToString() + “:” + SYNCDATE.Minute.ToString() + “:” + SYNCDATE.Second.ToString();
Saat ile işin yoksa:

Windows Mobile El terminalini Windows 10da çalıştır (Yeni)
Daha önce paylaştığım yazıya ek/revize olarak (https://semt20.home.blog/2018/07/13/windows-mobile-el-terminali-windows-10-calistir/)
Dosyalar Google drivedada var.

Download our patch WMDC-fixes-for-Win10.msi.
Restart your computer.
Open WMDC on your computer.
Plug in a cable between your handheld device and computer to establish a connection.