Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

Allow Zero Length (ama asp ile)

Konu, 'Veritabanları' kısmında walder tarafından paylaşıldı.

  1. walder

    walder Üye

    Kayıt:
    22 Ocak 2003
    Mesajlar:
    66
    Beğenilen Mesajlar:
    0
    Asp ile tablo yaratınca ya da var olan bir alanı editleyince asla Sıfır uzunlukta dizeye izin vermesini sağlayamadım. Bazı forumlarda da bunun imkansız olduğunu okudum. Bu gerçekten imkansız mı?
    Bende denedim ama ısrarla o kısmı "no" olarak açıyor.
    ALTER TABLE tablom alter COLUMN alanim TEXT(255) null
    Bu işe yaramadı. Haa unutmadan kullandığım veri tabanı access.
    Sadece bu yüzdeen veri tabanını indirip editleyip upload etmek gerekiyor ki bu da can sıkıcı bir şey.
    Piyasada dolaşan ve yararlı bir uygulama olan Table Editor' de bu konuda çuvallıyor.
    Sizlerin bir fikri var mı gerçekten de ASP ve SQL ile imkansız mı bu?
     
  2. Scorpion

    Scorpion Daimi Üye

    Kayıt:
    17 Ekim 2002
    Mesajlar:
    962
    Beğenilen Mesajlar:
    0
    Eğer sıfır uzunlukda kayıtlarda hata vermesini istiyorsan aşağıdaki cümleyi SQL i kullanabilirsin. Ama sorunda bir ikilem var tam olarak ne istediğini anlamadım.

    ALTER TABLE tablom alter COLUMN alanim TEXT(255) Not null
     
  3. walder

    walder Üye

    Kayıt:
    22 Ocak 2003
    Mesajlar:
    66
    Beğenilen Mesajlar:
    0
    İzin versin

    Yani izin versin istiyorum. Sıfır uzunluk izni="evet" olmasını istiyorum
    Bunu access de tasarım yaparken kolayca yapıyoruz tamam ama bazen online yapmak gerekiyor bu tür bir işlemi. Bahsettiğim şey buydu
    Sevgiler
     
  4. acemi

    acemi Misafir

    Bunu dene:

    <%@ Language=VBScript
    EnableSessionState = false
    Codepage=28599
    %>

    <%
    Option Explicit
    Response.Buffer=true

    const DATABASE = "E:\veriler\veritabani.mdb"
    const USERNAME = "admin"
    const PASSWORD = ""

    dim catdb, cnn, table, column

    set cnn = server.CreateObject("ADODB.Connection")
    cnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0" & _
    ";Data Source=" & DATABASE & _
    ";Persist Security Info=false" & _
    ";User Id=" & USERNAME & _
    ";Password=" & PASSWORD
    cnn.ConnectionTimeout = 15
    cnn.CommandTimeout = 100
    cnn.CursorLocation = 3
    cnn.Open

    set catdb = server.CreateObject("ADOX.catalog")
    catdb.ActiveConnection = cnn

    set table = server.CreateObject("ADOX.table")
    table.name = "yeni_tablo"

    set column = server.CreateObject("ADOX.column")
    column.name = "yeni_kolon"
    column.type = 202 ' text tipinde
    column.definedSize = 50 ' uzunluk
    column.attributes = 2 ' NULL olabilir

    table.Columns.Append column
    catdb.Tables.Append table

    column.Properties("JET OLEDB:Allow Zero Length") = True

    cnn.close
    set column = nothing
    set table = nothing
    set catdb = nothing
    set cnn = nothing
    %>
     
    Son düzenleme yönetici tarafından yapıldı: 8 Mart 2003
  5. walder

    walder Üye

    Kayıt:
    22 Ocak 2003
    Mesajlar:
    66
    Beğenilen Mesajlar:
    0
    Malesef hata verdi.
    ADOX.Columns error '800a0bb9'
    Uygulama, yanl?? türde, kabul edilebilir aral?k d???nda veya bir ba?kas?yla çak??an ba??ms?z de?i?kenler kullan?yor.
    Hata verdiği yer ise
    table.Columns.Append column satırı
    Adox hakkında detaylı bilgi alabileceğim sağlam bir kaynak da alabilirim varsa. Bilgim olmadığı için sorunu çözemedim.
     
  6. walder

    walder Üye

    Kayıt:
    22 Ocak 2003
    Mesajlar:
    66
    Beğenilen Mesajlar:
    0
    Kodu birde sunucuda denedim ve çalıştı. Sanırım benim sistemimdeki driverlarda hata var. Ancak detaylı kaynak varsa hala alabilirim. 4guysfromrolla da falan pek bişey yoktu hep tablo yaratmak üzerine oysa editlemek de önemli bir iş.
    Gerçi en iyisi veri tabanını önceden adam gibi yapıp editlemeye mahal vermemek ama.......
     
  7. Scorpion

    Scorpion Daimi Üye

    Kayıt:
    17 Ekim 2002
    Mesajlar:
    962
    Beğenilen Mesajlar:
    0
    :super:
     
  8. acemi

    acemi Misafir

    ASP sitelerinde ADOX ile ilgili yeterli bilgi bulabilecegini pek sanmiyorum cunku bu konunun dogrudan ASP ile ilgisi yok.

    Microsoft teknolojilerini kullanacaksan MSDN Library CD'lerini temin etmeni tavsiye ederim. Bunlar tarihli olarak yayinlanir. "Ocak 2001", "'Nisan 2002" diye... Ne kadar yeni tarihli bulursan, o kadar iyi olur ama "Ocak 2000" sonrasi birisini bulursan kacirma. 3 CD olacak.

    Veri yapisi degisikliklerinde yapabilecegin baska seyler de var. Yeni MDB dosyasini diledigin gibi tasarlarsin ve eskisinden, yenisine verileri aktaran bir de 3. MDB yaparsin. 3. MDB'deki sorgulari ASP sayfasindan tetikleyerek verileri aktarilsin. Gorundugunden daha kolay ve hizli bir yontem.
     
  9. walder

    walder Üye

    Kayıt:
    22 Ocak 2003
    Mesajlar:
    66
    Beğenilen Mesajlar:
    0
    Bu tamam ya 3. mdb?

    Evet Şubat 2001 tarihli bir tane edindim oldukça iyi teşekkürler.
    Şimdi burda benim sormak istediğim bir konu daha var. Veri yapısı değişikliklerinde dediğin gibi 2 farklı mdb ile çalışmak uygun bir çözüm olabilir. Ancak bu durumda 3. mdb nin ne iş yapacağını ben anlamadım. Mesela şu an ben buna benzer bir iş için şunu yapıyorum. İlk veri tabanına bağlanıyor ve tüm verileri bir diziye alıyorum, sonra bağlantıyı kesip ikinciye bağlanıyor ve verileri giriyorum. Bu durumda 2 mdb ve bir asp ile işlem çözülüyor. Yoksa bunu 3. bir mdb ile yapmanın farklı yolları mı mevcut.
    Konuyu biraz deşiyorum çünkü daha önce düşünmediğim yöntemleri bu yorumlar sayesinde keşfedebiliyorum.
    Sevgiler
     
  10. acemi

    acemi Misafir

    Dedigim iste, yine bir MDB ile islerine devam edeceksin ama yeni MDB'yi kullanmaya baslamadan once eskisindeki verileri, yenisine, 3. MDB dosya vasitasi ile aktaracaksin.

    Bu aktarma islemini yazilacak kodlarla da yapmak mumkun ama action query'lerle (DELETE, UPDATE, INSERT gibi verileri etkileyen islem yapan sorgular) cok kisa surede ve grafik ortamda hazirlamak varken uzun uzun kod yazmaya gerek yok.

    Tabii yapilacak fazla bir islem yoksa, 3. MDB'yi kullanmak yerine yazilacak kodlarla da ayni is yapilabilir.