6 Ekim 2016 Perşembe

Clientta geçerli group policy kuralları

Group policy durumunu görüntülemek, clientta geçerli olan group policy kurallarına görüntülemek için aşağıdaki komutu kullanabilirsiniz.

Rsop.msc 
gpresult /v
Share:

5 Ağustos 2016 Cuma

Domain ortamında kullanıcının yetkili olduğu klasör ve dosyaların listesi

Domain ortamında kullanıcının yetkili olduğu klasör listesini almak için aşağıdaki komutu ms-dos komut penceresinden yönetici olarak çalıştırmanız yeterli. İşlem tamamlandığında yetkili olduğu klasörlere ait bilgileri "C:" sürücüsü içerisinde "erisim.txt" adında dosya içerisine kaydediyor.


icacls c:\*. /findsid KullaniciAdi /t /c /l >c:\erisim.txt
Share:

28 Temmuz 2016 Perşembe

Sql Management Studio tablo tasarımı değişiklik hatası / I getting error, when I saving changes after table edit in SQL Server Management Studio

Sql Management Studio içerisinde aşağıdaki yolu takip ederek problemi giderebilirsiniz.


Tools -> Options -> Designers-> Uncheck "Prevent saving changes that require table re-creation".


Settings, screen shot
Share:

17 Mart 2016 Perşembe

c# Tarih Yilin Kacinci Haftasi Fonksiyon

C Sharp: İstenilen tarihin yılın kaçıncı haftası olduğunu gösteren metot


İstenilen tarihin yılın kaçıncı haftası olduğunu bulmak için aşağıdaki metot kullanılabilir. Framework içindeki Datetime sınıfında olmayan ancak işinize yarayabilecek bir metottur.


public int GetWeekNumber(DateTime dtPassed)
{
 CultureInfo ciCurr = CultureInfo.CurrentCulture;
 int weekNum = ciCurr.Calendar.GetWeekOfYear(dtPassed,CalendarWeekRule.FirstFourDayWeek,      DayOfWeek.Monday);
 return weekNum;

}

Kullanımı:
int hafta = GetWeekNumber(DateTime.Now);  // 01.03.2016
//hafta= 12 olacaktır 
Share:

Logo Tiger /Unity için tarih bilgisini datetime'a integer olarak çeviren fonksiyon.

CREATE FUNCTION fn_LogoTimetoSystemTime (@GELENDEGER INT)
RETURNS VARCHAR(8)
AS

BEGIN
DECLARE @SAAT VARCHAR(2), @DAKIKA VARCHAR(2), @SANIYE VARCHAR(2), @SONUC VARCHAR(8)
SELECT
@SAAT=RTRIM(CONVERT(char(20), ROUND(@GELENDEGER / 16777216, 2))),
@DAKIKA=RTRIM(CONVERT(char(20), ROUND((@GELENDEGER - ROUND(@GELENDEGER / 16777216, 2) * 16777216)/ 65536, 2))),
@SANIYE=RTRIM(CONVERT(char(20), ROUND((@GELENDEGER - ROUND(@GELENDEGER / 16777216, 2) * 16777216 - ROUND((@GELENDEGER - ROUND(@GELENDEGER / 16777216, 2) * 16777216) / 65536, 2) * 65536) / 256, 2)))
SET @SAAT=CASE WHEN LEN(@SAAT)=1 THEN '0'+@SAAT ELSE @SAAT END 
SET @DAKIKA=CASE WHEN LEN(@DAKIKA)=1 THEN '0'+@DAKIKA ELSE @DAKIKA END 
SET @SANIYE=CASE WHEN LEN(@SANIYE)=1 THEN '0'+@SANIYE ELSE @SANIYE END
SET @SONUC= @SAAT + ':' +@DAKIKA + ':' + @SANIYE
RETURN @SONUC
END 
Share:

Logo Tiger / Unity veritabanında integer tarihi datetime'a çeviren fonksiyon.

CREATE FUNCTION fn_LogoDatetoSystemDate (@DEGER INT)
RETURNS datetime

AS
BEGIN
DECLARE @GUN VARCHAR(2), @AY VARCHAR(2), @YIL VARCHAR(4)

DECLARE @SONUC datetime
SELECT
@GUN=CAST((CONVERT(INT,CONVERT(BINARY,@DEGER,2),0)-(CONVERT(INT,CONVERT(BINARY,@DEGER,2),0)/256*256)) AS VARCHAR(3))
SELECT
@AY=CAST(((CONVERT(INT,CONVERT(BINARY,@DEGER,2),0)-(65536*(CONVERT(INT,CONVERT(BINARY,@DEGER,2),0)/65536)))-(CONVERT(INT,CONVERT(BINARY,@DEGER,2),0)-(CONVERT(INT,CONVERT(BINARY,@DEGER,2),0)/256*256)))/256 AS VARCHAR(3))
SELECT
@YIL=CAST((CONVERT(INT,CONVERT(BINARY,@DEGER,2),0)/65536) AS VARCHAR(6))
SET @GUN=CASE WHEN LEN(@GUN)<2 THEN '0'+@GUN ELSE @GUN END
SET @AY=CASE WHEN LEN(@AY)<2 THEN '0'+@AY ELSE @AY END
SONUC:
IF @DEGER<>0
BEGIN
SET @SONUC=CONVERT(DATETIME, @YIL + '-' + @AY + '-' + @GUN + ' 00:00:00', 102)
END
IF @DEGER=0
SET @SONUC= NULL
RETURN @SONUC
END
Share:

16 Mart 2016 Çarşamba

C# ve SQL Server ile eşsiz değerler nasıl üretilir (How to generate a unique ID using C# and SQL Server)

C# ve SQL Server ile eşsiz değerler nasıl üretilir (How to generate a unique ID using C# and SQL Server)

Geliştirdiğimiz iş yazılımlarında bir çok veri üretiyoruz, bu üretilen verilerin çoğu bir biri ile bağlantılı. Bu bağlantıyı sağlamak için tüm ilşkili tablolar arasında EŞSİZ bir anahtar değere ihtiaycımız var. Veritabanı ile ilgilenenler bilir bu eşsiz anahtar değer Primary Key (PK) olarak adlandırılır. Bu PK değeri tablo içindeki milyonlarca değer için eşsiz olarak oluşturulur. Amacı milyon kaydın içinden istediğimiz “X” satıra erişebilmek ve onunla gerekli işlemler yapabilmek. Aynı zamanda bu PK değerler tablolar arasında da kullanılır ve zincirleme bir çok tabloyu bir birine bağlar. Daha sonra bu tablolar bir biri ile bağlanıp karmaşık sorgular ve raporlar edle edilebilir.
Şu anda çok şirketin, işyerinin olduğu bir ortamda çalışıyorum. Bu ortamda aynı zamanda çok karmaşık bir satınalma onay süreci var. A şirketinde onay süreci A->B->C olarak gereçekleşiyor. F şirketinde A->D->B->Z  şeklinde gerçekleşiyor. Bu karmaşık ortam için  kolay kullanılabilen-yönetilebilen ve çok esnek bir onay yapısına sahip Web tabanlı bir SATINALMA yazılımı geliştiriyorum. Bu karmaşık yapı nedeni ile birçok tablo arasında mantıksal bağlantı olmalı. Bu yapının birkaç tablosu aşağıdaki gibi:
CREATE TABLE [dbo].[SATINALMA_TALEP]
(
[ID] [uniqueidentifier] NOT NULL,
[TARIH] [datetime] NOT NULL,
[ACIKLAMA] [varchar](150) NOT NULL,
[SIRKET_ID] [int] NOT NULL,
[ISYERI_ID] [int] NULL,
CREATE TABLE [dbo].[SATINALMA_TALEP_DETAY]
(
[ID] [int] IDENTITY(1,1) NOT NULL,
[TALEP_ID] [uniqueidentifier] NOT NULL,
[STOK_KODU] [varchar](35) NULL,
[MIKTAR] [decimal](18, 5) NULL,
CREATE TABLE [dbo].[SATINALMA_TALEP_HAREKET]
(
[ID] [int] IDENTITY(1,1) NOT NULL,
[TALEP_ID] [uniqueidentifier] NOT NULL,
[TARIH] [datetime] NULL,
[GOREVLI_ID] [int] NULL,
CREATE TABLE [dbo].[SAT_TALEP_EKLER]
(
[ID] [int] IDENTITY(1,1) NOT NULL,
[TALEP_ID] [uniqueidentifier] NOT NULL,
[EK] [varchar](250) NULL,
Buradaki tabloları birbirine bağlayan ilk tablodaki ID değeri. Bu değerin eşsiz olarak üretilmesi çok önemli. Bu sayede veriler arasında bağlantı güvenli bir şekilde sağlanmış olacak. Bu değer Primary Key veritabanı tarafından otomatik olarak da üretilebilir (SQL Server’da IDENTITY SEED ve Oracle’da CREATE SEQUENCE). Ama bu ileride birçok veritabanı ile çalışırken ve Database Replikasyonu gibi işlemler yapmak zorunda kalırsak  sorun çıkarabiilir. Büyük ve dağınık yapıda veritabanı yapısı tasarlarken kullanılacak en iyi  PrimaryKey veri tipi GUID. Bu nedenle biz veriler üzerinde KESİN ve NET kontrol sağlamak için kendi yaratığımız eşsiz ID (GUID) değerlerini üretip kullanacağız. Bu amaçla C# ve T-SQL ile ayrı ayrı bunu nasıl yapacağımızı göstereceğim.

public  Guid  NewRecordID()
{
//How to generate COMB ID
//Sağlam bir çözüm bunu kullan
//bu değeri SQL Serverda depolamak için …ID [uniqueidentifier] NOT NULL şeklinde olmalı

byte[] destinationArray = Guid.NewGuid().ToByteArray();
DateTime time = new DateTime(0x76c, 1, 1);
DateTime now = DateTime.Now;
// Get the days and milliseconds which will be
// used to build the byte string
TimeSpan span = new TimeSpan(now.Ticks – time.Ticks);
TimeSpan timeOfDay = now.TimeOfDay;
// Convert to a byte array
// Note that SQL Server is accurate to 1/300th of a
// millisecond so we divide by 3.333333
byte[] bytes = BitConverter.GetBytes(span.Days);
byte[] array = BitConverter.GetBytes(
(long)
(timeOfDay.TotalMilliseconds / 3.333333));
// Reverse the bytes to match SQL Servers ordering
Array.Reverse(bytes);
Array.Reverse(array);
// Copy the bytes into the guid
Array.Copy(bytes, bytes.Length – 2,
destinationArray,
destinationArray.Length – 6, 2);
Array.Copy(array, array.Length – 4,
destinationArray,
destinationArray.Length – 4, 4);
return new Guid(destinationArray);
}

CREATE  PROCEDURE    [dbo].[NewRecordID]
(@NewId [UNIQUEIDENTIFIER] OUTPUT)
AS
BEGIN

—SET @NewId = NEWID()  — generate new ID  TEST AMAÇLI
SET @NewId= CAST(CAST(NEWID() AS BINARY(10)) + CAST(GETDATE() AS BINARY(6)) AS UNIQUEIDENTIFIER)
–SELECT @NewId –TEST AMAÇLI
END
Şimdi bu Stored Procedure nasıl şalıştırılacak onu yazalım. Öncelikle stored procedure çalıştırmak için sembolik bir UNIQUEIDENTIFIER değere ihtiyacımız var. Onu kullanarak SP çalıştırılacak ve SP yeni ID değerler üretecek

Exec  [dbo].[NewRecordID]   ‘B551F2C8-8380-491B-A51F-436E51CDD08F’   –sql SP testi

ve bu SP’nin üretiği eşsiz ID sonuçları  :
76FAB26E-FB5F-4E4F-B21D-A38B00D36903
9B4BBA9E-D557-4B6D-BBE1-A38B00D37E62
B0382D9C-1B4A-4CC8-AC63-A38B00D39024
C079B776-0B3F-46D8-9A12-A38B00D3874C

KAYNAK : https://apoleptika.wordpress.com/2013/05/01/netsis-cari-hesaplarin-borc-alacak-bakiyelerini-gosteren-mobil-yazilim-gelistirme-1/
Bu değerli ve zaman kazandıran bilgi için Abdurrahman Hacıoğlu' na teşekkür ederim.
Share:

23 Şubat 2016 Salı

GPO With Outlook 2013

How To Configure Outlook 2013 Font Using Group Policy

font1
In this KB I’ll show you how to configure Outlook 2013 Font using Group Policy.
Using this method you can configure the following settings:
  • Default new email font colour and size
  • Default reply and forward colour and size
  • Email Comments
  • New Theme
The only requirement is Outlook 2013 Installed on a machine.
Note:
To start, Open Outlook 2013 and configure the font settings from the option menu.
font1
Step two, Open Registry editor from run menu, go to the path below and export the mail settings folder:
HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Common\MailSettings
font2
Export by right click on the MailSettings folder
font3
Next we need to convert the .Reg file to .XML using the website below:
When converting the file make sure you select Create, when done save the file.font4
Next right click on the .XML file and Click Copy
font45
Last step open Group Policy editor and go to:
User configuration\Preferences\Windows Settings\Registry
Right Click on Registry and Paste
font5

Share:

Network Yazıcı ve Dosya Paylaşımını Açmak

netsh firewall set service type=fileandprint mode=enable profile=all 
Share:

17 Şubat 2016 Çarşamba

Sql Yedeklerinin otomatik sıkıştırılması

Bak dosyalarının yüksek yer kaplaması ve yedekleme süresinin uzun sürmesinden şikayet ediyorsanız çözümünü burada bulabilirsiniz.


Aşağıdaki kodları bir bat dosyası içerisine almanız, ve windows görev zamanlayıcısına bir görev oluşturmanız yeterli. Yeşil renk ile yazılan alan, günün tarihinin de ada dahil edilerek oluşturulacak olan dosyanın adı, kırmızı renk ile yazılan kısım sıkıştırılacak olan *.bak dosyalarının bulunduğu alanı belirtmektedir.


START /WAIT C:\rar.exe a -df -ep -ag[yyyyMMddhhmmss] -ms[txt] D:\BACKUP\SQLYedekleri.zip  D:\BACKUP\*.bak

Ardından isterseniz alınan zip dosyasını farklı bir makineye transfer edebilirsiniz.
xcopy D:\BACKUP\*.zip \\192.168.10.1\backups\BACKUP /y >hata.txt


Kullanılan rar dosyasına, “C:\Program Files\WinRAR” buradan ulaşabilirsiniz. ( Bilgisayarınıza bir kereliğine winrar programını kurup uygulama dosyasını aldıktan sonra kaldırabilirsiniz.)

SQl Backup Job'u içerisine aşağıdaki şekildeki gibi, 1 günden eski *.bak dosyalarının silinmesi işlemini de işaretlerseniz,, backup klasörünüzde yalnızca ziplenmiş backup dosyalarınız olacak, ve her zamankinden çok daha az yer kaplayacaktır.


Share:

1 Şubat 2016 Pazartesi

Offline Files Eşitleme Merkezi Hatalı Paylaşımları Kaldırma

Regedit Run as Administrator

Open up registry editor (WARNING: Only for Advanced Users)
Browse to
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Csc

Add a new key (folder) called Parameters
Under
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Csc\Parameters
add a new DWORD called FormatDatabase and set its value to 1


You will need to reboot the PC afterwards.
Share:

14 Ocak 2016 Perşembe

SQL Server'da Oracle veritabanına Linked Server kurulumu


  1. SQL Server ile Oracle Veritabanlari arasinda linked server ile baglanti saglamak için SQL Server’in kurulu oldugu sunucuda Oracle Client’in kurulu olmasi ve SQL Server’in OraOLEDB.Oracle provider destegini sunmasi gerekmektedir. Bu gerekçeler nedeniyle öncelikle asagidaki programlarin sunucuya kurulmasi gerekmektedir. Her iki kurulumunda ayni sürüm olmasina dikkat etmeliyiz. 
  2. Baglanti yapilacak SQL Server sunucusuna Oracle Database 11Release 2 Client (11.2.0.3.0) for Microsoft Windows (x64) kurulur. (Ilgili kurulum ek olarak sunulan ‘Ek-1. Oracle Client Kurulumu’ dökümaninda mevcuttur)
  3. Baglanti yapilacak SQL Server sunucusuna 64-bit ODAC 11.2 Release 4 (11.2.0.3.0) for Windows x64 (Oracle Data Access Components) seçenegi ile kurulur. (Ilgili kurulum ek olarak sunulan ‘Ek-2. ODAC Kurulumu’ dökümaninda mevcuttur)
  4. Linked Server olusturulacak SQL Server Veritabani, Cluster ise her iki nod’un SQL Server Software kurulu olan dizinine (Genellikle C dizini) bu iki kurulumu yapmamiz gerekir.
  5. Kurulum bittikten sonra SQL Server servisi tekrar baslatilir ve sunucudan ORACLE veritabani baglantisinin yapilip yapilamadigi asagidaki sekilde test edilir.
    • NOTEPAD ile masaüstünde txt uzantili bos bir dosya yaratilir.
    • Txt uzantisi udl (uniform data link) olarak degistirilir.
    • Bu islemden sonra dosya uzantisi degisecektir uyarisi kabul edilerek dosya kapatilir.
    • Olusturulan bu dosyaya çift tiklanarak açilir. Açilan ekranda Saglayici sekmesinde Microsoft OLE DBProvider for Oracle seçilir.
    • Baglanti tabinda baglanti yapilacak ORACLE veritabani sunucusunun parametreleri TNSNAMES.ORA dosyasina göre girilir ve baglanti test edilir. Burada girilen kullanici bilgileri baglanti yapilmak istenen oracle veritabaninda olusturulan kullanici bilgileridir.
    • Baglanti basarili ise SQL Server sunucu üzerinden ORACLE sunucusuna erisim saglanmis demektir, ekran sol alt kösesindeki Tamam(OK) butonuna basilarak ekran kapatilir.
    • UDL dosyasi seçili iken sag tiklanir, ve çikan ekrandan NOTEPAD ile bu dosya açilir. Yapilan baglantinin tüm detaylari görüntülenir.

      Bu dosya içerigi SQL Server’da Linked Server tanimi yaparken kullanilacaginda dosyayi kapatmadan arka planda bekletiniz.
  6. Linked Server kofigürasyonu yapilacak SQL Server üzerinde Server Objects-->Linked Servers-->OraOLEDB.Oracleseçilir, sag tiklanarak gelen ekrandan Properties seçilir.
  7. Açilan Provider Options – Oracle Provider for OLE DB ekranindan Provider Options ekranindan Allow inprocessseçenegi Enable seçilir, ok tiklanarak ekran kapatilir.
  8. Server Objects-->Linked Servers seçili iken sag tiklanir, New Linked Server seçilir.                    
                                             
  9. Açilan ekranda General tabinda New Linked Server ekraninda Linked Server alanina linked server adi girilir. Product name, Data Source ve Provider stringalanlari olusturulan UDL dosyasindaki bilgilere göre doldurulur.
  10. Ayni ekranda iken Security tabina geçilir. Be made using this security context opsiyonu tiklanir, Remote login ve With Password alanlari girilir ve OK tiklanir.
  11. Olusturulan yeni linked server, Linked Servers altinda seçilir, sag tiklanir, çikan ekrandan Test Connection opsiyonu seçilerek test baglantisi yapilir.

  12. Olusturulan linked server’dan kayit sorgulanmak istendiginde OPENQUERYile sorgulama yapilir.
  
 Kaynak : http://www.sqlserveronculeri.com/1/Article/494/sql-server 






 
Kaynak
Share:

6 Ocak 2016 Çarşamba

Gpupdate /force Logon script olarak çalıştırma / Gpupdate /force option initially run as a logon script


Gpupdate /force seçeneğinizi başlangıçta logon script olarak çalıştırma.


Gpupdate /force option initially run as a logon script

'VB Script for Refreshing GroupPolicy Settings silently
'Created: 06/01/2016
'Created By: hakanoncel.blogspot.com

Dim WshShell
Set WshShell = CreateObject("Wscript.Shell")
WshShell.Run "gpupdate.exe /target:user /force /wait:0",0,true
Set WshShell = Nothing
'Hand back the errorlevel
Wscript.Quit(Result)

Share:

Blog Arşivi