Access ve Excel den Oracle veritabanına bağlantı

Katılım
24 Temmuz 2007
Mesajlar
726
Excel Vers. ve Dili
Excel 2010 tr
Mrb,
Acces yada excel ile ipsi belli olan bir serverde bulunan şifreli (şifre biliniyor) oracle veritabanına nasıl bağlanıp veri çekilebilir.

Açık bir örnek bulamadım yada ben anlamadım yardımcı olursanız çok sevinicem uzun zamnadır bunu bulmaya çalışıyorum

Teşekkürler
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın merakli_72

Aşağıdaki kodları bir deneyin:

Kod:
 Dim Cn As ADODB.Connection
    Dim CP As ADODB.Command
    Dim Rs As ADODB.Recordset
    Dim Conn As String
    Dim QSQL As String

'Connect to Oracele server begin
Conn = "DRIVER={ORACLE ODBC DRIVER};SERVER=Service name;UID=username;PWD=password;DBQ=Service name;DBA=W;APA=T;FEN=T;QTO=T;FRC=10;FDL=10;LOB=T;RST=T;FRL=F;MTS=F;CSR=F;PFC=10;TLO=O;"

       Set Cn = New ADODB.Connection

       With Cn
         .ConnectionString = Conn
         .CursorLocation = adUseClient
         .Open
       End With

       If Cn.State = adStateOpen Then
       MsgBox "Connection successful."
       End If

'Connect to Oracle server end


'close connection begin
    Cn.Close
    Set Cn = Nothing
    Set CP = Nothing
'close connection end
İyi çalışmalar
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Bir de ODBC ile bağlantıyı tarif edeyim:

Denetim masasından - Yönetimsel Araçlar - VeriKaynakları(ODBC) oradan Veri Kaynağı ekle Açılan Pencereden Microsoft ODBC for Oracle seçip açılan pencereden Oracle veritabanınızı ayarlayın:

Access de veya Excel de bir modül açarak aşağıdaki kodları yazın:

Kod:
Function OracleConnect() As Boolean
     Dim ws As Workspace
    Dim db As Database
    Dim LConnect As  String
     On Error GoTo Err_Execute
     'Use {Microsoft ODBC for Oracle} ODBC connection
    LConnect =  "ODBC;DSN=AAAA;UID=BBBB;PWD=DDDD;SERVER=CCCC"
     'Point to the current workspace
    Set ws =  DBEngine.Workspaces(0)
     'Connect to Oracle
    Set db = ws.OpenDatabase("", False, True,  LConnect)
     db.Close
     OracleConnect = True
     Exit Function
 Err_Execute:
    MsgBox "Connecting to Oracle failed."
     OracleConnect = False
 End Function
Burada AAAA BBBB CCCC DDDD yerine

AAAA: Ayarladığınız veri tabanı adını
BBBB: Oracle bağlantısı kullanıcı adı
CCCC: Oracle veritabanı adı
DDDD:Şifreniz

Böylece istediğiniz noktadan veritabanını açabilirsiniz.

İyi çalışmalar
 
Katılım
18 Ağustos 2014
Mesajlar
46
Excel Vers. ve Dili
Excel 07'
Oracle-Excel bağlantısı kodlarını yazdım ama insert kodu nedir bilmiyorum. Yani data aktarımını nasıl sağlıyoruz? Tablodaki verileri oracle veritabanına nasıl aktarıyoruz. Yabancı olduğum bir konu oracle.
 

Mehmet Şahin

Destek Ekibi
Destek Ekibi
Katılım
13 Ekim 2005
Mesajlar
1,398
Excel Vers. ve Dili
Excel 2010 - 2013 Türkçe - İngilizce
Diğer veritabanlarına sql ile nasıl aktarıyorsanız, Oracle'a da aynı biçimde aktarıyorsunuz. Bazı fonksiyonlarda farklılık gösterse de kolayca çözümler üretebilirsiniz. Sorgularınızda table ve field adı ile ilgili alanlarda işlemler yapabilirsiniz.
 
Katılım
18 Ağustos 2014
Mesajlar
46
Excel Vers. ve Dili
Excel 07'
Diğer veritabanlarına sql ile nasıl aktarıyorsanız, Oracle'a da aynı biçimde aktarıyorsunuz. Bazı fonksiyonlarda farklılık gösterse de kolayca çözümler üretebilirsiniz. Sorgularınızda table ve field adı ile ilgili alanlarda işlemler yapabilirsiniz.
Sadece insert yapıcak koda ihtiyacım var. Başka bir deyişle oracleye excel tablosu verilerini aktarmak/export için.
 

Mehmet Şahin

Destek Ekibi
Destek Ekibi
Katılım
13 Ekim 2005
Mesajlar
1,398
Excel Vers. ve Dili
Excel 2010 - 2013 Türkçe - İngilizce
Örnek bir dosya ve üzerinde aktarılacak alanlar ile bu alanların oracle'daki tablo/field'larını belirtirseniz yardımcı olabilirim. İyi çalışmalar.
 
Katılım
18 Ağustos 2014
Mesajlar
46
Excel Vers. ve Dili
Excel 07'
Dosya

İf döngüsü ile datalarını aktramak istediğim hücreleri seçiyorum, üst kısma da oracle*connect kodlarını yazdım. Ama hata veriyor. Nerede hata yapıyor olabilirim.
 

Mehmet Şahin

Destek Ekibi
Destek Ekibi
Katılım
13 Ekim 2005
Mesajlar
1,398
Excel Vers. ve Dili
Excel 2010 - 2013 Türkçe - İngilizce
Dosyanızı alabildim. Ancak insert edilecek tablonun field'larını ve bunların data tiplerini belirtmeniz ve field'ların, tablonuzda hangi alanlara karşılık geldiğini bilmemiz gerek.
 
Katılım
18 Ağustos 2014
Mesajlar
46
Excel Vers. ve Dili
Excel 07'
Dosyanızı alabildim. Ancak insert edilecek tablonun field'larını ve bunların data tiplerini belirtmeniz ve field'ların, tablonuzda hangi alanlara karşılık geldiğini bilmemiz gerek.
Fieldden kastınız nedir? Oracle'dan hiç anlamam, sadece excel tablosundaki verileri oracle veritabanına atmam isteniyor. Elimde network bilgileri var birtek host ip, service name falan.
 
Katılım
18 Ağustos 2014
Mesajlar
46
Excel Vers. ve Dili
Excel 07'
Fieldler bunlar galiba

INSERT INTO ERPKALITE.T_KAL_URUN_KARAKTER (
URUN_KARAKTER_ID, GEO_OK_TLRNS_GSTRM)
VALUES ( , );
 

Mehmet Şahin

Destek Ekibi
Destek Ekibi
Katılım
13 Ekim 2005
Mesajlar
1,398
Excel Vers. ve Dili
Excel 2010 - 2013 Türkçe - İngilizce
Aşağıdaki kodları ilgili yerleri değiştirip deneyin. Microsoft oracle driveri ile çalışmaktadır.
Kod:
Public Function baglan() As ADODB.Connection
Dim con As New ADODB.Connection

 yol = "Driver={Microsoft ODBC for Oracle};" & _
            "Server=[COLOR=Red]xxx[/COLOR];" & _
            "Uid=[COLOR=Red]xxx[/COLOR];" & _
            "Pwd=[COLOR=Red]xxx[/COLOR]"

On Error GoTo ErrorHandler
con.ConnectionString = yol
con.Open
Set baglan = con
Exit Function
ErrorHandler:
MsgBox "Oracle Veritabanına Bağlanamadı!"
Resume Next
End Function
Sub ekle()
Dim sh As Worksheet
Dim conn As New ADODB.Connection
Set sh = ThisWorkbook.Worksheets("[COLOR=Red]sayfanız[/COLOR]")
        Set conn = baglan()
        
     For i = 2 To 1000 ' değiştirin
        SQLStr = "INSERT INTO ERPKALITE.T_KAL_URUN_KARAKTER (" _
                 & "URUN_KARAKTER_ID, GEO_OK_TLRNS_GSTRM)" _
                 & "VALUES (" & sh.Cells(i, "[COLOR=Red]xx[/COLOR]") & "," & sh.Cells(i, "[COLOR=Red]yy[/COLOR]") & ");" [COLOR=SeaGreen]'xx ve yy yerine ilgili datanın sütun adını yazınız[/COLOR]
        conn.Execute (SQLStr)
        Next i

    SQLStr = vbNullString
    conn.Close
    Set conn = Nothing
    End Sub
Dikkat ilgili field'lar data tipine göre düzenlenmezse hata verir. Muhtemelen string data tipi kabul edilmiştir.
 
Katılım
18 Ağustos 2014
Mesajlar
46
Excel Vers. ve Dili
Excel 07'
Peki hatanın sebebi nedir? Ağ kabloları falan bulunmadı diyor bağlantı problemi mi var acaba?
 

Mehmet Şahin

Destek Ekibi
Destek Ekibi
Katılım
13 Ekim 2005
Mesajlar
1,398
Excel Vers. ve Dili
Excel 2010 - 2013 Türkçe - İngilizce
Değerli kardeşim, diyalog bu şekilde sürerse, konu çok gereksiz uzar ve başka yardıma ihtiyacı olanları da engellemiş oluruz. Ben hata mesajını göremezsem, nasıl bir çözüm önerebilirim?
 
Katılım
18 Ağustos 2014
Mesajlar
46
Excel Vers. ve Dili
Excel 07'
Değerli kardeşim, diyalog bu şekilde sürerse, konu çok gereksiz uzar ve başka yardıma ihtiyacı olanları da engellemiş oluruz. Ben hata mesajını göremezsem, nasıl bir çözüm önerebilirim?
Ekledim ben hata mesajını jpg olarak, mesajın altında görünmüyor mu?
 

Mehmet Şahin

Destek Ekibi
Destek Ekibi
Katılım
13 Ekim 2005
Mesajlar
1,398
Excel Vers. ve Dili
Excel 2010 - 2013 Türkçe - İngilizce
İşyerimizdeki kısıtlamalar nedeniyle Firefox'ta göremedim. IE ile görebildim, özür dilerim bu yüzden. Mesaj Oracle client ve ağını bulamadığını belirtiyor. Daha önce bağlantı kurabildiniz mi veritabanıyla?
 
Üst