Forum
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.
*****************************************************************
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?
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.
*****************************************************************
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.
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
{ }
}
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ı ?
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.
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.
*****************************************************************