Archive for April 2009


Excel Makro ile Sayfa Adını Değiştirmek

April 17th, 2009 — 7:05am

Aktif sayfanın adını aşağıdaki kod ile değiştirebilirsiniz.
ActiveSheet.Name = “Sheet1”

İndex ile de sayfa adını değiştirmek mümkündür.
Sheets(1).Name = “Test”

Comments Off on Excel Makro ile Sayfa Adını Değiştirmek | Excel

Personal Xls Dosyası Nerde?

April 17th, 2009 — 6:58am

Personal.xls excel’in önemli bir dosyasıdır. Mesela bu dosyaya kaydettiğiniz makrolar bilgisayarınızdaki bütün excel dosyalarınızda çalışır. Bu dosyanın yeri işletim sistemine göre değişebilmektedir.

Xp’de
C:\Documents and Settings\Serdar\Application Data\Microsoft\Excel\XLSTART

Vista’da ve Windows 7’de
C:\Users\Serdar\AppData\Roaming\Microsoft\Excel\XLSTART

Comments Off on Personal Xls Dosyası Nerde? | Excel

Crystal Reports Parametre Tanımlamadan Kaynaklanan Hata

April 9th, 2009 — 3:21am

System.Runtime.InteropServices.COMException:
The types of the parameter field and parameter field current values are not compatible.

crystal reports” bir uygulamada bu hatayı alıyorsak. Parametrenin türünü doğru vermemiş olabiliriz.

Datetime olarak tanımlı bi parametreye string değer gönderiyorsak bu hatayı alabiliyoruz.

 
ParameterValues currentParameterValues = new ParameterValues();
//*** FirstDate
string prmtr_FirstDate = "baslangic";
ParameterDiscreteValue prmtrDiscrete_FirstDate = new ParameterDiscreteValue();
prmtrDiscrete_FirstDate.Value = MyFirstDate.Date;//.ToString("dd/MM/yyyy");
currentParameterValues.Add(prmtrDiscrete_FirstDate);
ParameterFieldDefinitions prmtrFieldDefs_FirstDate 
                              = rpt.DataDefinition.ParameterFields;
ParameterFieldDefinition prmtrField_FirstDate 
                              = prmtrFieldDefs_FirstDate[prmtr_FirstDate];
prmtrField_FirstDate.ApplyCurrentValues(currentParameterValues);

Comments Off on Crystal Reports Parametre Tanımlamadan Kaynaklanan Hata | Csharp - C#

Google’ın Serverları

April 4th, 2009 — 3:18pm

Google kendine özel serverlar tasarlayıp kullanıyor, oyüzden hem özel tasarımlı serverları olması hem de işi gereği mapreduce algoritmasını kullanması sayesinde çok daha hızlı… (tabi başka bi dolu parametre var kaliteyi getiren) Google’ın hikayesi kitabında okumuş ve çok etkilenmiştim. Bugün böyle bişey duymak şaşırtıcı değil tabi adamlar zaten dünyanın en çok açılan sayfası özel bişey yapsınlar … ama buna bugünkü duruma gelmeden karar vermeleri beni etkileyen taraf.

Google'ın Server'ı

Pek çok firma serverlarını Dell, hp, ibm gibi yerlerden alırken google kendi server’larını tasarlamak için ekipler kurmuş.

Kendine bir anakart tasarlayıp gigabyte’a ürettirmiş. (gigabyte google’ın terci ettiği marka olarak satışlarını 10 misli arttıracak baya arttırmıştır bence :) )

cnet’te bir yazıda google’ın özel tasarımlı server’ının güç yönetiminin diğer data center’lardan farklı ve daha efektif bir yapı olduğu yazıyor. Kendine özel tasarladığı sistem sayesinde daha az elektrik tüketiyor.

Olayın elektrik tüketimi boyutunun yanısıra, hacim boyutuda var.

Kasanın hacmi normal bir rack ünitesinin yarısı kadar. Binlerce serverı bir araya koymak zorunda olduğunuzu düşünün… O binlerce serverın yarısı boyutunda daha az maliyetli ve daha performanslı serverlar tasarladığınızı düşünün.

Vay be google…

Bazı yıllarda google datacenter’lar da çekilmiş fotoğraflar

google-serverlari

google-serverlari 1997

google-serverlari 1999

google-serverlari 2000

google-serverlari 2001

Comments Off on Google’ın Serverları | Something

Oracle-ing Myself – Lesson 7 Özeti

April 1st, 2009 — 12:27pm
DROP TABLE emp2;
 
SELECT original_name,
     operation,
     droptime
FROM recyclebin;
 
flashback TABLE emp2 TO BEFORE DROP;
 
--external tables
--c:\deneme diye bir klasör olustur içine
--emp.dat diye dosya olustur virgülle ayrilmis
CREATE directory deneme AS 'C:\deneme';
 
GRANT READ WRITE ON directory deneme TO hr;
 
CREATE TABLE oldemp (fname CHAR(25), lname CHAR(25))
organization external (TYPE oracle_loader DEFAULT directory deneme 
access parameters (
records delimited BY newline 
nobadfile 
nologfile 
FIELDS TERMINATED BY ','
fname POSITION (1:20) CHAR,
lname POSITION (22:41) CHAR))
location ('emp.dat'))
parallel 5
reject LIMIT 200;
 
--type oracle_loader > sadece okuma islerinde kullaniyoruz
--type oracle_datapump > import export islerinde datapump kullancagiz
 
--meta data sorgulari
SELECT * FROM dictionary WHERE TABLE_NAME LIKE '%TABLE%';
SELECT * FROM dict;
 
SELECT * FROM user_tables;
SELECT * FROM user_objects;
SELECT * FROM user_views;
SELECT * FROM user_tab_columns;
 
SELECT * FROM all_tables;
 
SELECT * FROM dba_tables;
 
--performansla ilgili meta data gelir
SELECT * FROM v$database;
SELECT * FROM v$instance;
 
SELECT * FROM user_tab_comments;
 
comment ON TABLE employees IS 'Employee information';
 
UPDATE dept
SET manager_id = DEFAULT
WHERE departmen_id=10;
 
INSERT ALL 
  INTO sal_history VALUES(empid,hiredate,sal)
  INTO mgr_history VALUES(empid,mgr,sal)
  SELECT employee_id empid, hire_date hiredatei salary sal, manager_id mgr
  FROM employees
  WHERE employee_id > 200;  
 
INSERT ALL 
  WHEN hiredate < '01-JAN-95' THEN
    INTO emp_history VALUES(empid,hiredate,sal)      
  WHEN comm IS NOT NULL THEN
    INTO emp_sales VALUES(empid,comm,sal) 
SELECT employee_id empid, hire_date hiredatei salary sal, commission_pct comm
FROM employees;  
 
INSERT FIRST 
  WHEN hiredate < '01-JAN-95' THEN
    INTO emp_history VALUES(empid,hiredate,sal)      
  ELSE
    INTO emp_sales VALUES(empid,comm,sal) 
SELECT employee_id empid, hire_date hiredatei salary sal, commission_pct comm
FROM employees;
 
MERGE INTO emp a USING (employees) b
ON (a.employee_id == b.employee_id)
WHEN matched THEN UPDATE SET
a.first_name = b.first_name,
a.last_name = b.last_name,
......
DELETE WHERE (b.commission_pct IS NOT NULL)
WHEN NOT matched THEN
INSERT VALUES (b.employee_id,b.first_name,b.last_name....);
 
UPDATE emp3 SET salary = salary * 1.30
WHERE employee_id =107;
 
commit;
 
--salary alaninda yapilan degisiklikleri görebiliriz
SELECT salary FROM emp3
  version BETWEEN scn minvalue AND maxvalue
WHERE employee_id = 107;
 
--5 dakika öncesini göster
SELECT salary FROM emp3 AS OF TIMESTAMP sysdate-5/1440
WHERE employee_id =100;
 
ALTER SESSION SET time_zone = '-2:00';
 
ALTER system SET nls_date_format = 'DD-MON-YYYY HH24:MI:SS';
 
SELECT dbtimezone, sessiontimezone, CURRENT_DATE, 
          CURRENT_TIMESTAMP, localtimestamp 
FROM dual;
 
SELECT EXTRACT(YEAR FROM sysdate) FROM dual;
 
SELECT tz_offset('US/Eastern') FROM dual;
 
SELECT from_tz(TIMESTAMP '2000-07-12 08:00:00','Australia/North') FROM dual;
 
SELECT to_timestamp('2000-07-12 08:00:00','YYYY-MM-DD HH:MI:SS') FROM dual;
 
SELECT hire_date, to_yminterval('01-02'), to_dsinterval('100 10:00:00')
FROM employees;
 
UPDATE employees e
SET department_name = (SELECT department_name 
  FROM departments d
  WHERE d.department_id == e.department_id);
 
SELECT employee_id, last_name
FROM employees e
ORDER BY (SELECT department_name 
          FROM departments d
          WHERE e.department_id = d.department_id);
 
SELECT employee_id, last_name
FROM employees OUTER
WHERE EXISTS (SELECT 'X'
              FROM employees
              WHERE manager_id = OUTER.employee_id);
 
SELECT employee_id, last_name
FROM employees OUTER
WHERE NOT EXISTS (SELECT 'X'
              FROM employees
              WHERE manager_id = OUTER.employee_id);
 
UPDATE emp3 e
SET department_name = (SELECT department_name
                        FROM departments d
                        WHERE e.department_id = d.department_id);
 
DELETE FROM emp3 e
WHERE employee_id = (SELECT employee_id
                      FROM emp_history
                      WHERE employee_id = e.employee_id);
 
 
WITH summary AS
  (SELECT d.department_name dname,
     SUM(e.salary) total_dep
   FROM departments d,
     employees e
   WHERE e.department_id = d.department_id GROUP BY d.department_name)
  SELECT dname,
  total_dep
FROM summary
WHERE total_dep >
  (SELECT SUM(total_dep) *1 / 8
   FROM summary)
ORDER BY total_dep DESC

Comments Off on Oracle-ing Myself – Lesson 7 Özeti | Sql


Back to top