• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

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

İş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ı.
 
Oracle 7.3 ve üzeri bağlantı komponentlerini indirip kurmanız gerekiyor.
 
Proje müdürünün bilgisayarında herhangi bir hata mesajı aldınız mı?
 
Insert into'da run-time error veriyor. O noktaya kadar 'step' ledik. Oradan ileri gitmiyor.
 
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?
 
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.
 
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.
 
Ben excelden, oracleye aktarıcam umarım o kısmı yanlış anlamamışsınızdır. Oracleden excele değil yani, excelden oracleye.
 
Tabii ki oracle'a insert cümlesi. Eğer hata insert cümlesinde olsaydı oracle hatası döndürmesi gerekti.
 
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ı.
 
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.
 
Geri
Üst