Forum

Microsoft OLE DB Pr...
 
Bildirimler
Hepsini Temizle

Microsoft OLE DB Provider for ODBC Drivers error '80004005' hatası hakkında

Mustafa TAŞCI
(@mustafatasci)
Saygın Üye Forum Yöneticisi

Merhaba,

 

Kullandığımız bir yazılımda "Microsoft OLE DB Provider for ODBC Drivers error '80004005'" hatası alıyoruz, programa excelden veri aktarmak istediğimizde bu hatayı alıyoruz,excel dosyasını aktarıyor fakat açarken default driver yok diye hata alıyoruz,

 

Hatanın tamamı,

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified 

 

 Server 2008 R2 üzerinde SQL server 2008 R2 çalışıyor,

ODBC tarafında excel driverını göremiyor sanırım, sistem office 2007 full yüklü, bu konu hakkında bilgisi olan var mı ? 

****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************

Alıntı
Topic starter Gönderildi : 22/02/2011 16:21
Turgay Sahtiyan
(@turgaysahtiyan)
Üye

openrowset ile mi alıyorsun excel'i


ya da daha doğrusu sadece program a excel'den veri alıyorsan sql server'ın aradaki role ü tam olarak nedir?

CevapAlıntı
Gönderildi : 23/02/2011 11:22
Mustafa TAŞCI
(@mustafatasci)
Saygın Üye Forum Yöneticisi

Kullandığımız yazılıma excelden datayı import ediyoruz, kullandığımız yazılımın database sql üzerinde duruyor, exceldeki datayı sql üzerine yazıyoruz,

 komut olarak,

 

Conn.Open "DBQ=" &server.mappath("\") & "\sms_temp\" & XLFile &";DRIVER=Microsoft Excel Driver (*.xls);"

Veya şunu da denedim o da olmadı

Conn.Open "DBQ=" &server.mappath("\") & "\sms_temp\" & XLFile &";DRIVER=Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb);"

 

Kulannıyoruz fakat, datayı import ediyor, ama excel ile açamıyor,

 

Araştırdığım kadarıyla ODBC ayarlarında excel driver assign etmek gerekiyormuş sanırım. 

****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************

CevapAlıntı
Topic starter Gönderildi : 23/02/2011 20:21
Turgay Sahtiyan
(@turgaysahtiyan)
Üye

bu problemin direk sql server related olduğunu düşünmüyorum.


Birde programlama kısmında ki arkadaşlara sormak lazım. Yazılımsal bir issue gibi gözüküyor.

CevapAlıntı
Gönderildi : 24/02/2011 13:16
Orhan AKDOĞAN
(@orhanakdogan)
Üye

Merhabalar,
Belirtilen connection string "dsn" içermeyen bir yöntem,
bu yüzden hatanın sadece ikinci kısmını (no default driver specified ) dikkate alacak olursak;


Registry den Driver ları okuyabilmesi için gerekli erişim izinlerini kontrol edebiliriz,
(Eğer bir web uygulaması ise, IIS ayarlarına göre, IUSR veya Application Poolda kullanılan user dikkate alınarak yapılmalı.)


izin verilecek key:
HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Driver do Microsoft Excel(*.xls)


Sonuç alınamaz ise, alternatif olarak oledb connecting string denenebilir;
aşağıda kullandığım bir örnek var.



//using System.Data.OleDb;
//DataTable dt=ExceltoDataTable(dosyayolu, sheetname, "A2:U500", " Where [SIRA NO]<1000");  //Örnek Kullanım



private DataTable ExceltoDataTable(string ExcelDosyaYolu, string CalismaSayfasi , string Range ,string where)
    {
        try
        {
            string con = "";
            if (ExcelDosyaYolu.Substring(ExcelDosyaYolu.Length - 1, 1).ToUpper() == "X")
            {
                con = @"Provider=Microsoft.ACE.OLEDB.12.0;"
                + "Data Source=" + ExcelDosyaYolu + ";"
                + "Extended Properties='Excel 8.0;HDR=No'";
            }
            else
            {
                con = "Provider=Microsoft.Jet.OLEDB.4.0;"
                + "Data Source=" + ExcelDosyaYolu + ";"
                + "Extended Properties='Excel 8.0;HDR=Yes'";
            }
            OleDbConnection xlscon = new OleDbConnection(con);
            xlscon.Open();
            //
            if (CalismaSayfasi == "") //Çalışması Sayfası belirtilmemiş ise ilk kitap adını al.
            {
                CalismaSayfasi = xlscon.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null).Rows[0]["TABLE_NAME"].ToString();
            }
            else { CalismaSayfasi = CalismaSayfasi + "$"; }
            //
            OleDbCommand xlscmd = new OleDbCommand(@"SELECT * FROM [" + CalismaSayfasi + Range + "] "+where, xlscon);
            OleDbDataAdapter xlsda = new OleDbDataAdapter();
            xlsda.SelectCommand = xlscmd;
            DataTable xlsdt = new DataTable();
            xlsda.Fill(xlsdt);
            xlscon.Close();
            xlsda = null;
            return xlsdt;
        }
        catch //(Exception Hata)
        {
            return null;
        }
        finally
        { }
    }

CevapAlıntı
Gönderildi : 25/02/2011 02:44
CozumPark
(@cozumpark)
Onursal Üye Yönetici

[quote user="Mustafa TASCI"]

Merhaba,


 


Kullandığımız bir yazılımda "Microsoft OLE DB Provider for ODBC Drivers error '80004005'" hatası alıyoruz, programa excelden veri aktarmak istediğimizde bu hatayı alıyoruz,excel dosyasını aktarıyor fakat açarken default driver yok diye hata alıyoruz,


 


Hatanın tamamı,


Microsoft OLE DB Provider for ODBC Drivers error '80004005'


[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified 


 


 Server 2008 R2 üzerinde SQL server 2008 R2 çalışıyor,


ODBC tarafında excel driverını göremiyor sanırım, sistem office 2007 full yüklü, bu konu hakkında bilgisi olan var mı ? 


[/quote]


Bu hata Excel ya da SQL Server ile alakalı değil. Muhtemelen sisteminizde, programın kurulumu sırasında tanımlanan DSN ayarları ile ilgili bir ayar bozukluğu oldu.


Programın Setup uygulamasında "Onar" özelliği varsa öncelikle bunu deneyin. Olmadı eğer sorun teşkil etmeyecekse tüm yedeklemelerinizi yapıp programı yeniden kurun. Bu da sorununuzu çözmezse direkt olarak programın teknik servisi ile irtibat kurarsanız çok daha hızlı be kesin sonuca ulaşırsınız.


İyi çalışmalar.

CevapAlıntı
Gönderildi : 25/02/2011 12:09
Mustafa TAŞCI
(@mustafatasci)
Saygın Üye Forum Yöneticisi

Merhaba,

 

Bende sorunun programdan kaynaklandığını düşünüyordum, aldığım cevaplarla bundan emin oldum,

 

teşekkür ederim. 

****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************

CevapAlıntı
Topic starter Gönderildi : 02/03/2011 12:08
Paylaş: