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

Katılım
18 Ağustos 2014
Mesajlar
46
Excel Vers. ve Dili
Excel 07'
İş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?
Ayrı bir msgbox hazırladım (bağlandı yazıyor döngü tamamlandığında), birkaç kodla oynadım. Bağlandı cevabını alıyoruz ama veriler oraclede görünmedi, sanırım insert kodunda bi eksik var. Onu da çözersem bitmiş olacak.

Not: Ben bağlanımıyorum, proje müdürünün bilgisayarında bağlandı ama insertleme olmadı.
 

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,344
Excel Vers. ve Dili
Office 365 (64 bit) - Türkçe
Oracle 7.3 ve üzeri bağlantı komponentlerini indirip kurmanız gerekiyor.
 

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
Proje müdürünün bilgisayarında herhangi bir hata mesajı aldınız mı?
 
Katılım
18 Ağustos 2014
Mesajlar
46
Excel Vers. ve Dili
Excel 07'
Insert into'da run-time error veriyor. O noktaya kadar 'step' ledik. Oradan ileri gitmiyor.
 

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
Vb referanslarında "Microsoft ActiveX Dataobjects 2.8 library" ve excel sürümünüzün Object Library'lerinin eklenmiş olduğunu kontrol eder misiniz?
 
Katılım
18 Ağustos 2014
Mesajlar
46
Excel Vers. ve Dili
Excel 07'
Vb referanslarında "Microsoft ActiveX Dataobjects 2.8 library" ve excel sürümünüzün Object Library'lerinin eklenmiş olduğunu kontrol eder misiniz?
Hazır bir oracle dosyası alıp programfiles x86 ya yapıştırdım. "Microsoft ActiveX Dataobjects 2.8 library" bende aktif. Proje müdürü toplantıdan gelince onun bilgisayarında da kontrol edicem aktif olup olmadığını. Ama aktif etmiştik diye hatırlıyorum.
 
Katılım
18 Ağustos 2014
Mesajlar
46
Excel Vers. ve Dili
Excel 07'
Kod:
Public Function baglan() As ADODB.Connection
Dim con As New ADODB.Connection

          
 yol = "Driver={Microsoft ODBC for Oracle};" & _
 "Server=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.9.9.14)(PORT=1521))(CONNECT_DATA=(SID=arge)));" & _
 "Uid=ERPKULLANICI;Pwd=ERP"

On Error GoTo ErrorHandler
con.ConnectionString = yol
con.Open
MsgBox "Oracle Veritabanına Bağlandı!"
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("SERİ REV1")
        Set conn = baglan()
        
     For i = 2 To Cells(Rows.Count, "I").End(3).Row '
     MsgBox "döngü içinde !" & i
     
        SQLStr = " INSERT INTO ERPKALITE.T_KAL_URUN_KARAKTER (" _
                 & " URUN_KARAKTER_ID, MLZ_ID, SIRA_NO)" _
                 & "VALUES (" & sh.Cells(i, "I") & "," & sh.Cells(i, "J") & ");"
        conn.Execute (SQLStr)
        MsgBox "insert calisti!" & i
        Next i

    SQLStr = vbNullString
    conn.Close
    Set conn = Nothing
    End Sub
Döngü içinde msg box'ı açılıyor, sonrasında hata veriyor. Hatanın insert cümlesinde olduğunu düşünüyorum.
 
Katılım
18 Ağustos 2014
Mesajlar
46
Excel Vers. ve Dili
Excel 07'
Ben excelden, oracleye aktarıcam umarım o kısmı yanlış anlamamışsınızdır. Oracleden excele değil yani, excelden oracleye.
 

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
Tabii ki oracle'a insert cümlesi. Eğer hata insert cümlesinde olsaydı oracle hatası döndürmesi gerekti.
 
Katılım
18 Ağustos 2014
Mesajlar
46
Excel Vers. ve Dili
Excel 07'
Insert kısmında sorun yaşıyorum, yardımcı olabilecek kimse var mı? Run time error veriyor.

İlk denememizde hata vermedi ama veri aktarımı da olmadı.
 

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
URUN_KARAKTER_ID, MLZ_ID, SIRA_NO ADLI üç alana veri gireceğinizi belirtiyor ama sadece iki alana veri geliyor. Sıra no alanı için bir değer vermelisiniz ya da sql cümlesinden çıkarmalısınız.
 
Üst