linux hosting MS Access ile php veritabanı bağlantısı

5 Cevap php

I am running on php.
And in my local I am working on windows environment so it was easy to connect to MS Access Database using ODBC connector.

Ama benim canlı sunucu ortamında Linux yüzden DB bağlantısı ile ilgili bir sorun var orada.

Yani php kullanarak Linux ortamında MS Access DB bağlanmak için adımlar nelerdir.

Thanks
Avinash

5 Cevap

Bu ya doğrudan soru cevap vermiyor, ancak web verilerini güncellemek için Access kullanmak isteyen sorunu çözmek için başka bir yoludur:

Sen canlı (web) sunucu üzerinde MySQL portu Access veritabanı can, ve kullanıcı (temelde web sitesi ve Access rolleri saygısız) için bu veritabanına önyüz olarak Access kullanın:

Sen "Dış Veri" araçları ile Access içine tabloları bağlama, MySQL Connector sürücüsünü kullanarak ODBC üzerinde Access MySQL veritabanı bağlanabilirsiniz. Bu şekilde, web için optimize edilmiş bir (daha fazla) ciddi bir veritabanı motoru, olsun, ama onlara tanıdık araçları ile veri işlemek için kullanıcının yeteneği korumak.

Ben Linux erişimi ile çalıştı değil ama hızlı bir arama bana bunu verdi.

Microsoft Access Database using Linux and PHP

Şahsen ben Windows hem de Linux üzerinde çalışan bir DBMS taşıma tavsiye ederim. Eğer erişim ile sopa varsa Ama, sen kontrol edebilirsiniz:

http://www.unixodbc.org/ or http://www.openlinksw.com/

Eğer Linux sunucu barındırma paylaşılan üzerinde iseniz, büyük olasılıkla ODBC desteği yoksun olacaktır. Bu PHP kullanarak herhangi bir büyük sorunlar olmadan Linux ve Windows (ve OS X) üzerinde çalışacak yana, SQLite kullanarak daha iyi olacak ...

Web sunucu ve istemci ağ arasındaki ilişki açık değildir. Linux Sunucu istemcinin yerel LAN ve Samba çalışıyorsa, kesinlikle Linux sunucu üzerinde Access / Jet / ACE veritabanı depolamak ve kullanıcılara Access düzenlemek olabilir.

Daha sonra Linux sunucu üzerinde çalışan Jet emülatörlerine birine ihtiyacınız olur (yani bildiğim kadarıyla, Linux için mevcut ACE hiçbir öykünme olduğunu, bu nedenle kendi veritabanı ACCDB biçimi ise, şans bitti sürece ben ') Ben emulatörleri hakkında duydum ne sadece güncel m. Jet emülatörlerine bazıları salt okunur, böylece dikkatli olun.

Jet / ACE uygulama bu tür için tasarlanmış değildir yana Şimdi, ben, bu senaryoyu tavsiye etmem. Taş çıkartmak ağ ile küçük ofis / çalışma grubu ortamında çalışıyor, ama ben geri salt okunur değildi herhangi bir web sitesi sonunda, kavram ispatı, ya da çok, çok düşük okuma / yazma hacim olarak kullanmak olmaz. Ben kesinlikle aynı MDB web sitesi arka uç olarak hizmet veren ve interaktif Access kullanıcılar tarafından aynı anda kullanılmakta olan olan tavsiye asla.

Bu senaryo doğru ise, kullanıcıların hala Access ile çalışmak size bağlantı noktası Linux üzerinde çalışan bir sunucu veritabanına arka uç eğer. MySQL her zaman kullanmak, ve ben bir Access aptalım beri, benim MySQL veritabanı yönetmek için benim kullanıcı arayüzü için phpMyAdmin bağlıdır. Access kullanıcı şema hakkında muck için anlamak için oldukça kolay olmalıdır. Access bağlantılı tablolar kurabilirsiniz MyODBC kullanarak ve onlar Jet arka uç ile yaptığı gibi raporlar ve formlar ve bu hemen hemen aynı şekilde çalışacaktır.

Ama şiddetle müşteri kendi ofis LAN bağlı bir Linux sunucu üzerinde kendi web sitesi barındırma şüpheliyim. Daha büyük olasılıkla Linux sunucu bu durumda, orada hiçbir SMB ağ olacak, böylece web sitesinden hem ve etkileşimli kullanıcılar tarafından düzenlenmiş tek bir Access veritabanı olması mümkün olmayacaktır, web hosting paylaşılan olmasıdır. BU yapıyor gibi o ilk etapta yanlış olacağını, iyi bir şeydir.

may bir sunucu veritabanı (benim web barındırma, sunucu MySQL ve PostgreSQL hem de sağlar ve sadece MySQL ve sadece ana bilgisayar adı / IP adresi üzerinden uzaktan erişim sağlar bir port açmak için izin size barındırma paylaşılan ile. İşte olasılıkla bir ofis LAN ile çok iyi çalışmak değil. vahşi ve yünlü internetten bir veritabanı sunucusu açık sınırsız erişim sağlar Herhangi bir web barındırma muhtemelen değil bir istemci kullanıyor olmalıdır ki. onlar VPN desteği sağlamak eğer bir seçenek olacaktır, bu durumda bir VPN kullanılabilir. Ama benim deneyim, web host (aslında, makul kadar) bunun için bir kol ve bir bacak ücret, bu nedenle genellikle iyi bir seçenek değil.

Yani, web sitesinde bir sunucu veritabanı çalıştıran gerçek-zamanlı bağlantı sağlamak mümkün olacak olası değildir. Bu durumda, bazı şekilde veritabanlarını senkronize kalacaksın. Web Access veritabanı (yani, düzenleme yok, eklemeler ya da web sitesinde silmeler) tam bir köle ise, sadece yüklemek bir dosya veya dosyaların veri ihracat için komut dosyaları yazabilirsiniz gibi o, çok basit olabilir varolan verileri değiştirmek için web sitesi ve sonra da süreç.

Bir çok ana senaryosu (her iki yerde de güncellemeler) varsa güncellemeleri her iki yönde gitmek zorunda, özellikle, bu, çok daha karmaşıktır. Bir Access veritabanı ile bir web sitesinde bir MySQL veritabanı senkronizasyon, tam olarak bu senaryoda, yani Erişim sonuna programlanmış ettik, ve önemsiz bir görev değil.

Eğer her iki ucunda MySQL alabilirsiniz, bu (low-end web barındırma senaryosunda bana oldukça olası görünüyor, çoğaltma kurmak olabilir varsayarak) biraz daha kolay olabilir, ama ben saymak olmaz.

Ben durum hakkında bilmek biraz ne benim değerlendirme müşteri çözümlerden bir sürü olmadan olası bir entegrasyon gerçekçi var gibi, her şey bir yeniden düşünmeye vermek zorunda olmasıdır.

Web sitesi kamusal değil ama uzak kullanıcıları desteklemek için Access 2010 bir Sharepoint Server bir Access veritabanı yayımlamak ve web tarayıcıda çalışan sağlayacak Sharepoint Server 2010 ile entegre etmek için bazı şaşırtıcı desteği eklemek için gidiyor olmasıdır olmadığını düşünmeniz için bir şey . Şartlar uzak kullanıcılara sınırlı ise Öte yandan, Erişim uygulaması bir Terminal Server üzerinde çalışan ve herkese bir sürü sorun tasarrufu olabilir.