Forum

ORACLE UZAK BAĞLANT...
 
Bildirimler
Hepsini Temizle

ORACLE UZAK BAĞLANTI AYARI VAR MI?

10 Yazılar
2 Üyeler
0 Reactions
3,773 Görüntüleme
(@VedatPALA)
Gönderiler: 28
Trusted Member
Konu başlatıcı
 

Ben   delphi ile
program yazıyorum.yıllardır Firebird veritabanı kullanıyorum.Şimdiye kadarda
bir sorun yaşamadım.Fakat firebird 
veritabanı localde  güzel fakat
uzak bağlantıda biraz yavaş...

Bu nedenle oracle 11g xe kısıtlı sürümü ile deneyim dedim.

Oracle veritabanına Delphi ve devart
( http://www.devart.com/odac/) firmasının odac komponenti ile bağlanıp veri
girebiliyorum.Tek bilgisayarda sorun yok..Fakat ana bilgisayara ikinci bir
terminalden veri girişi yapamıyorum bağlantı sorunu oluyor sebep nedir acaba..

 

Sorunun sebebinin tnsnames.ora veya listener.ora
dosyalarındaki bir ayar sorunu olduğunu düşünüyorum..

 

.

Teşekkür ederim.

tnsnames.ora

XE =

  (DESCRIPTION =

    (ADDRESS =
(PROTOCOL = TCP)(HOST = dtbsrv)(PORT = 1521))

    (CONNECT_DATA =

      (SERVER =
DEDICATED)

      (SERVICE_NAME =
XE)

    )

  )

 

EXTPROC_CONNECTION_DATA =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS =
(PROTOCOL = IPC)(KEY = EXTPROC1))

    )

    (CONNECT_DATA =

      (SID = PLSExtProc)

      (PRESENTATION =
RO)

    )

  )

 

ORACLR_CONNECTION_DATA =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS =
(PROTOCOL = IPC)(KEY = EXTPROC1))

    )

    (CONNECT_DATA =

      (SID =
CLRExtProc)

      (PRESENTATION =
RO)

    )

  )

----------------------------------------------------------------

*********************************************************************

 
Gönderildi : 07/03/2015 21:23

(@h-koraygunduz)
Gönderiler: 301
Üye
 

Selam;


dtbsrv ismini diğer makineden çözebiliyor mu ?


Örneğin;


ping dtbsrv


Dediğinde ping atabiliyormusun bunu denermisin. Eğer atamıyorsan tnsnames dosyasında dtbsrv yerine makinenin ip adresini yazıp dener misin ?


Birde Firewall ayarlarını kontrol etmelisin son olarak da bağlandığın makineden session kapatıp terminalden denermisin session kısıtımı var görelim.


Bağlanamadığın makineden;


tnsping dtbsrv


dediğinde sonuç olarak ne dönüyor ?


Teşekkürler

 
Gönderildi : 08/03/2015 01:15

(@VedatPALA)
Gönderiler: 28
Trusted Member
Konu başlatıcı
 

client makina ve ana bilgisayar olan iki makinada WINDOWS 7 yüklü..İki makinanın ip sini sabit verdim..

ağda birbirlerini görüyorlar..

ping dtbsrv  komutu  sonuç döndürüyor..

fakat tnsping dtbsrv  komutunu deneyemedim.Çünkü client makineye oracle ile ilgili  hiç bir şey kurmadım...

 

Sunucu makinada  "oracle  Stop " komutu ile durdur dedikten sonra bile tnames.ora ve listener.ora dosyasını  değiştirmeye sistem izin vermedi..

Fakat bilgisyarımda birden faz işletim sistemi hardisklerime kurulu olduğu için diğer işletim sisteminden açıp bu dosyalardaki host bilgisini "dtbsrv"  yi ip şeklinde 192.168.1.11" şeklinde değiştirdiğimde ve sistemi oracle  yüklü olan harddiskten başlattığımda ise bu sefer oracle  hiç çalışmadı tns hatası verdi..

 

Bende sistemi eski haline çevirmek zorunda kaldım. 

Fakat yaptığım denemelerde 1.000.000 insert işlemini  12:31 saniyede gerçekleştirdim.

Bu ora dosyalarında host bilgisinin kolayca değişimi nasıl oluyor..Bu kadar zor olmaması lazım bu işlerin..tahminimce.. 

 
Gönderildi : 08/03/2015 15:29

(@h-koraygunduz)
Gönderiler: 301
Üye
 

Selam;


Değiştirememen Windows güvenliğinden ya da Kullanıcını denetiminin açık olmasından kaynaklanıyor. Çünkü Oracle servisleri açık olsa da bunu değiştirmene izin vermesi gerekiyor. Ancak Windows güvenlik ayarı İşletim sistemi diskindeki dosyaları değiştirmene izin vermediği için sorun oluyordur. Bunun için Denetim Masasında kullanıcılar bölümünden Windows Kullanıcı denetimini en aşağı çekip restart ettikten sonra deneyebilirsin.


 Insert yapabildiğinden bahsetmişsin yani çalıştı mı ?


Birde Oracle Client kurarak deneyebilirsin. Ancak makine 64 bit olsada uygulaman 32 bit ise 32 bit client kurup denemen gerekir.


Teşekkürler

 
Gönderildi : 08/03/2015 15:35

(@VedatPALA)
Gönderiler: 28
Trusted Member
Konu başlatıcı
 

1milyon kaydı random olarak delphide yazdığım programla oracle  girdim.Program ana makinede çalışıyor clientda henüz çalışmıyor..

 

Benim program yazarken benimsediğim prensip olabildiğince sade bir kurulum yani sıfır kurulumdur.

Delphide bizim kullandığımız devart bileşenleride direct  ulaşım diye bir şey var .Hiç bir dll ye ihtiyaç duymadan direkt  bağlanmamıza imkan veriyor. 

MYSQL veritabanıda kullanıyorum ondan da ana makineya sadece MYSQL veritabanı ve programın exe sini kuruyorum.Terminallere ise sadece ana makinede olan programın olduğu klasöre paylaşım verdikten sonra burdan bir programın exe sine kısayolla çalıştıyorum..

 

Oracle da da yapmak istediğim bu... 

Sadece ana makineye Oracle kurmak.Yazacağım programın exe dosyasını ana bilgisayarda bir klasöre attıktan sonra client makinelere buraya paylaşım vermek 2001 yılından beri bu sistemi mysql de kullandım ve sorun yaşamadım.

Siz oracle uğraşan arkadaşlardan merak öğrenmek istediğim bilgi şu ...

 

1)Ana makineye  oracle kurulduktan sonra ve modemden server bilgisayara sabit ip ve port(1521) ataması yapıldıktan sonra uzaktan bağlanlatılar için mutlaka client makineye oracle istemci gibi bir şey mi kurmak lazım veya oracle dış bağlantılar için açmak için bir komut filan mı kullanmak lazım..mysql bunları biliyorum fakat oracle ile bilgim sıfır sayılabilir..Benim kullandığım devart odac bileşeninde cilent kurmaya ihtiyaç yok.

Sadece deneme amaçlı oracle xe kurdum.Sitesinde oracle bağlanma ve veritabanı oluşturma programını(sqldeveloper-3.2.20.09.87) indirdim..O sayede   veritabanı oluşturdum.Bir adetde autoinc no için sequence  oluşturdum.Ve buna uygun bir triger yazdım.

2)ORacle için form develepor vardı onu bü ücretsiz sürümde de kullanabiliyor muyuz.. Kısacası form develepor ile hazırlayacağım java kodlu sayfaları  webte kullanma imkanımız var mı?Bu imkan sadece ücretli kullanıcılar için mi var..

 

 

Yaptıkklarım hepsi aşağıda....

CREATE TABLE "VEDATPALA"."PERSONEL" 

   ( "SIRANO" NUMBER NOT NULL ENABLE, 

"ADI" VARCHAR2(20 BYTE), 

"ADRESI" VARCHAR2(100 BYTE), 

"BORCU" NUMBER(20,2), 

"TARIH" DATE, 

CONSTRAINT "PERSONEL_PK" PRIMARY KEY ("SIRANO")

  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 

  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645

  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)

  TABLESPACE "USERS"  ENABLE

   ) SEGMENT CREATION IMMEDIATE 

  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING

  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645

  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)

  TABLESPACE "USERS" ;

  CREATE OR REPLACE TRIGGER "VEDATPALA"."PERSONEL_INSERT_SIRANO" 

 BEFORE INSERT

 ON VEDATPALA.PERSONEL

FOR EACH ROW

DECLARE

  SIRANO number;

begin

  IF :new.SIRANO IS NULL THEN

SELECT PERSONEL_SIRANO_SEQ.nextval INTO :new.SIRANO FROM DUAL;

END IF;

end;

/

ALTER TRIGGER "VEDATPALA"."PERSONEL_INSERT_SIRANO" ENABLE; 

 

 
Gönderildi : 08/03/2015 16:04

(@h-koraygunduz)
Gönderiler: 301
Üye
 

Selam;


Sen ana makine üzerinde bu companentler ve veritabanı kurulu olduğu için connection kurabiliyorsun. Ancak programı share ederek .exe tıkladığında çalıştırmak istediğinde ana makine üzerinde bulunan companentleri client makinede aramayacak mı ? Bunlar yoksa nasıl çalıştıracaksın ? Bir Oracle veritabanına bağlantı kurabilmek için Windows ODBC, ODAC, Oracle Client vb. veritabanına Access edecek araçlar olmadan nasıl erişeceksin ?


Dediğin mantıkta en makul çözüm şudur. Uygulamanı Web platformuna taşıyacaksın ve tüm herşeyi bir web arayüzünden ana makine üzerinden çalıştıracaksın en doğrusu bu. Yoksa sadece bir exe çift tıklayarak herşeyi ana makine üzerinden çalıştırmasını beklemek pek doğru bir teknoloji çözümü değil. ODAC bileşenleri ana makinede kurulu ve client bunları görmüyor nasıl bağlanacaksın ?


Oracle bağlantı kurabilmek için bu bileşenlerden birine client makinede sahip olmalısın veya Sunucu İstemci mantığında çalışacak bir uygulama yazmalısın.


Bunların içinde de önereceğim Web tabanlı bir uygulama yazıp bunu da Sunucu üzerinde deploy ederek client'ların buradan kullanmasını sağlaman olacaktır.


Teşekkürler.

 
Gönderildi : 08/03/2015 16:20

(@VedatPALA)
Gönderiler: 28
Trusted Member
Konu başlatıcı
 

Öncelikle  cevap verdiğiniz ve ilgilendiğiniz için teşekkür ederim.

Devart firmasın forum kısmına da soru sordum bu konuyla ilgili cevap bekliyorum..

Fakat sizden öğrenmek istediğim şey hep oracle form builder ile kolayca  web tabanlı  veri girişi hazırlamak istemişimdir..

Oracle XE ile bunu yapabilme şansım var mı acaba...?

Oracle Form builder için ne kurmam lazım...

 

 
Gönderildi : 08/03/2015 22:48

(@h-koraygunduz)
Gönderiler: 301
Üye
 

Selamlar;


Oracle Forms Developer ile derleyip Oracle Application Server ile public etmelisiniz. Bu biraz eski bir teknoloji o yüzden artık genelde Microsoft .NET ve IIS aracılığı ile derleyip public edilen uygulamalar yapılmaktadır. Linux platformu olacaksa PHP ve Apache de düşünülebilir. O yüzden bu iki teknolojiyi incelemenizi tavsiye ederim. Oracle Forms oldukça eski ve artık yavaş yavaş kalkacak bir teknolojidir. Bu araçlar ile geliştirdiğinizde arkada çalışan veritabanı Oracle XE olabilir. Herhangi bir sıkıntı olmayacaktır.


 Teşekkürler

 
Gönderildi : 08/03/2015 23:00

(@VedatPALA)
Gönderiler: 28
Trusted Member
Konu başlatıcı
 

Client makineye hiç bir client program kurmadan ve yüklemeden ve hiç bir dll  yüklemeden...

Sadece kendi yazdığım delphi programı ile bağlandım. Sorun ana makinedeki 1521 nol tcp portunun kapalı olmasından imiş.Bu portu açınca client makine sorunsuzca bağlandı.Böylece sıfır kurulumla  oracle da  veritabanında da  bağlantı yapmış oldum.

Eminim başka sorunlarım oracle ile ilgili olacaktır.

Teşekkür ederim 

 
Gönderildi : 10/03/2015 16:20

(@h-koraygunduz)
Gönderiler: 301
Üye
 

Selam;


İlk gün verdiğim yanıtta "Birde Firewall ayarlarını kontrol etmelisin...." şeklinde yazmıştım. Hocam dikkate almamışsın 🙂


Geçmiş olsun. Problemin çözülmesine sevindim.


Teşekkürler.

 
Gönderildi : 11/03/2015 10:45

Paylaş: