• 20-05-2007, 02:54:11
    #1
    merhaba arkadaşlar,

    mydesign haberci v0.3 deki db yi mysql ye çevirmek istedim fakat hep hata ile karşılaşıyorum

    db bağlantısını yapıp mdb yi çevirdim fakat yinede aynı hata yine aynı hata. Scriptte inc_ayarlar dosyası var ve tüm bağlantılar burda orjinali ve yaptığım örneği aşağıda veriyorum. nerde yanlış yaptığımı bulamadım

    ORJİNAL :
    <%
    '// Değişkenler Tanımlanıyor
    Dim adoCon
    Dim kd
    Dim rs
    Dim strVeri
    Dim strTarih
    Dim blnSaat
    Dim Gunler
    Dim Aylar
    Dim Saniye
    Dim Dakika
    Dim Saat
    Dim Gun
    Dim Gun_Adi
    Dim Ay
    Dim Yil
    Dim intHexLength
    Dim intLoopCounter
    Dim strSiteAdi
    Dim strSiteAdresi
    Dim strCopyright
    Dim blnOnayKodu
    Dim intHaberSayisi
    Dim intYorumSayisi
    Dim strVersiyon
    Dim blnAdminOnay
    Dim strSiteAciklamasi
    '// Veritabanı Bağlantısı Yapılıyor
    Set adoCon = Server.CreateObject("Adodb.Connection")
    adoCon.open = "Provider=Microsoft.Jet.Oledb.4.0;Data Source="& Server.MapPath("vt/hbr1133.mdb") &";"
    '// Kayıtsetleri Açılıyor
    Set kd = Server.CreateObject("Adodb.Recordset")
    Set rs = Server.CreateObject("Adodb.Recordset")
    '// Site Ayarları Alınıyor
    kd.Open "SELECT TOP 1 * FROM tblAyarlar", adoCon, 1, 3
    strSiteAdi = kd("site_adi")
    strSiteAdresi = kd("site_adresi")
    strSiteAciklamasi = kd("aciklama")
    strCopyright = kd("copyright")
    blnOnayKodu = kd("onay_kodu")
    blnAdminOnay = kd("admin_onay")
    intHaberSayisi = kd("haber_sayisi")
    intYorumSayisi = kd("yorum_sayisi")
    strVersiyon = "0.3"
    kd.Close
    %>
    DÜZENLEDİĞİM :
    <%
    '// Değişkenler Tanımlanıyor
    Dim adoCon
    Dim kd
    Dim rs
    Dim strVeri
    Dim strTarih
    Dim blnSaat
    Dim Gunler
    Dim Aylar
    Dim Saniye
    Dim Dakika
    Dim Saat
    Dim Gun
    Dim Gun_Adi
    Dim Ay
    Dim Yil
    Dim intHexLength
    Dim intLoopCounter
    Dim strSiteAdi
    Dim strSiteAdresi
    Dim strCopyright
    Dim blnOnayKodu
    Dim intHaberSayisi
    Dim intYorumSayisi
    Dim strVersiyon
    Dim blnAdminOnay
    Dim strSiteAciklamasi
    Dim conn
    '// Veritabanı Bağlantısı Yapılıyor
    'Set adoCon = Server.CreateObject("Adodb.Connection")
    'adoCon.open = "Provider = MySQL ODBC 3.51 Driver; SERVER = localhost; DATABASE =gey1ww0394x; UID = ali83xxy0izr; PASSWORD=f43qr43gtbst5l;"
    set conn=Server.CreateObject("ADODB.Connection")
    adoCon ="Driver={MySQL ODBC 3.51 Driver};Server=127.0.0.1;Database=gey1ww0394x;Uid=geyikodb;Pwd=343434;"
    conn.open adoCon
    '// Kayıtsetleri Açılıyor
    Set kd = Server.CreateObject("Adodb.Recordset")
    Set rs = Server.CreateObject("Adodb.Recordset")
    '// Site Ayarları Alınıyor
    kd.Open "SELECT TOP 1 * FROM tblAyarlar", adoCon, 1, 3
    strSiteAdi = kd("site_adi")
    strSiteAdresi = kd("site_adresi")
    strSiteAciklamasi = kd("aciklama")
    strCopyright = kd("copyright")
    blnOnayKodu = kd("onay_kodu")
    blnAdminOnay = kd("admin_onay")
    intHaberSayisi = kd("haber_sayisi")
    intYorumSayisi = kd("yorum_sayisi")
    strVersiyon = "0.3"
    kd.Close
    %>
    düzenlediğim kodda şu hata çıkıyor :
    Microsoft OLE DB Provider for ODBC Drivers error '80040e21'
    ODBC driver does not support the requested properties.
    /dnm/inc_ayarlar.asp, line 43

    bu satır
    kd.Open "SELECT TOP 1 * FROM tblAyarlar", adoCon, 1, 3

    sorun nerde anlayamadım yardım edebilirseniz çok sevinirim...
  • 21-05-2007, 01:09:45
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    MySQL'de TOP 1 şeklinde bir komut yok. Ayrıca MySQL!e çevirirken bunun dışında bazı değişiklikler de gerekli:
    WHERE Durum = True yerine WHERE Durum = 0
    gibi..
  • 01-11-2007, 13:46:05
    #3
    '// Kayıtsetleri Açılıyor
    Set kd = Server.CreateObject("Adodb.Recordset")
    Set rs = Server.CreateObject("Adodb.Recordset")
    '// Site Ayarları Alınıyor
    kd.Open "SELECT TOP 1 * FROM tblAyarlar", adoCon, 1, 3
    Yukarıdaki kodlar yerine
    Set kd = adoCon.Execute("SELECT TOP 1 * FROM tblAyarlar")
    yazmayı denermisin. Çünkü MYSQL de ADODB.Recordset nesnesini kullanamazsın.
  • 05-12-2007, 16:03:31
    #4
    Üyeliği durduruldu
    böyle bir soru tarzı mı olur

    başlıkta mssql demişsiniz içeriğinde mysql karar verinde millet ona göre cevap versin mssql mi mysql mi
  • 05-12-2007, 19:16:24
    #5
    @mehmetakif69
    başlıkta msql demiş , konuda mysql , bunda sorun yok bence abartmanın anlamı yok

    bu arada hocam,program la çevir db yi, sonra mysql - asp örnekler filan incele çünkü access kodlama ile mysql kodlama farklı
  • 08-12-2007, 22:20:34
    #6
    Evet sadece db çevirmeyle iş bitmiyor.Kodlamanda sayfalama varsa değiştirmen gerekli ve bir takım şeyleri...
    Ceviz.net > Makale > MySQL'e ASP ile Bağlanmak ve Temel Veritabanı İşlemleri
  • 10-12-2007, 19:02:00
    #7
    kd.Open "SELECT TOP 1 * FROM tblAyarlar", adoCon, 1, 3

    satırını

    kd.Open "SELECT * FROM tblAyarlar LIMIT 1", adoCon, 1, 3

    yap düzelecektir
  • 27-12-2007, 09:41:11
    #8
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Evet Calidore'nin dediği örnekteki gibi Mysql de TOP yerine LIMIT fonksiyonu kullanılır. Ayrıca sayfalama işleminin yapıldığı sorgularda da, cursortype ve cursorlocation kullanılmalıdır aksi halde recordcount değerleri -1 olarak görünür.

    kd.cursortype = 1
    kd.cursorlocation = 3
  • 27-01-2008, 01:06:11
    #9
    Üyeliği durduruldu
    hakansen adlı üyeden alıntı: mesajı görüntüle
    Evet Calidore'nin dediği örnekteki gibi Mysql de TOP yerine LIMIT fonksiyonu kullanılır. Ayrıca sayfalama işleminin yapıldığı sorgularda da, cursortype ve cursorlocation kullanılmalıdır aksi halde recordcount değerleri -1 olarak görünür.
    kd.cursortype = 1
    kd.cursorlocation = 3
    dostum burada kd hangi ado nesnesi olarak görev yapıyo ?

    yukarıdaki soruyu sormuştum ama şimdi çözdüm,
    ben rs.cursortype ı rs.open dan sonra koyarak denemiştim ve nesne açık olduğu için hata veriyordu.
    rs.open demeden önce tanımladığım zaman çalıştı yani aşağıdaki şekilde..

    aşağıdaki gibi yapınca çalışıyo

    Set rs = Server.CreateObject("ADODB.RecordSet")
    rs.cursortype = 1
    rs.cursorlocation = 3
    rs.open "tablo",baglanti,1,3
    Response.Write rs.recordcount
    rs.close()
    Set rs = Nothing
    rs.recordcount yerine mysql de şöylede yapabilirsiniz.

    Set rs = Server.CreateObject("ADODB.RecordSet")
    rs.open "select count(id) as toplam from tablo",baglanti,1,3
    Response.Write rs("toplam")
    rs.close()
    Set rs = Nothing