Více uživatelů SQL server Compact edition   otázka

VB.NET

Stará vb.net aplikace používá access 2003 databázi (.mdb),

na winXP 32bit si léta funguje bez problémů, na win7 64bit

se připojení db aplikace nepodařilo zprovoznit.

Lze nějak řešit absenci Jet.Ole.Db providera na 64bit?

Je-li jedinou cestou inovace databáze a SQL Compact lze nazvat

nástupcem accessu, pak se chci zeptat, lze-li v Compact verzi

vytvořit víceuživatelskou aplikaci na principu databáze někde

ve sdílené síťové složce, connections k databázi z více počítačů?

Lze nějak realizovat, aby mohli všichni číst a jeden zapisovat

přes nějaké zamykání záznamů, mohu z jiné instance zjistit,

zda-li někdo začal zapisovat, počkat, až zápis dokončí, teprve

potom umožnit zápis z jiné instance?

Jedná se o jednoduchou záležitost, nicotný objem dat, bohatě by

to stačilo a když se přihlásí tři lidi najednou, tak je to skoro

na otevření šampusu, přesto je to velmi pěkná pracovní pomůcka.

Obávám se, že Compact veze nebude vhodná a doporučíte mi asi

SQL Server, přesto bude milé mít v této věci jasno.

Za čas věnovaný vaší odpovědi, reakce a doporučení předem díky.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

- I v 64bitové verzi Windows není problém pracovat s databází Access (*.mdb), v případě problémů vynuťte kompilaci 32bitového (x86) kódu.

- SQL Server Compact Edition NENÍ nástupce Access databáze.

- SQLCE podporuje přístup více uživatelů najednou, ale je potřeba si uvědomit, že pokud neexistuje aplikační server, jeho roli hraje samotný klient a tedy musí řešit i konkurenční přístup do databáze.

- Databázový soubor SQLCE není problém umístit na síťový disk.

nahlásit spamnahlásit spam 2 / 2 odpovědětodpovědět

I v 64bitové verzi Windows není problém pracovat s databází Access (*.mdb), v případě problémů vynuťte kompilaci 32bitového (x86) kódu.

:) Není problém víte-li , kde to nastavit... :)

Nakonec se mi to povedlo najít, přesto mi není jasné jaký mám

použít ovladač databáze.

Vynucením kompilace ve 32bit použije aplikace 32bit ovladače?

Jinak je 'nevidí' , nevím, zda-li chápu správně?

Na Win7 64bit mi ovladače nejdou instalovat, dost možná je lze

instalovat společně s MS Office..., jejich distribuční balík

mi nepomohl, nešel vůbec spustit...

Pokud ne co použít jako náhradu za Microsoft.Jet.OLEDB.4.0 ?

Původní aplikace obsahuje soubor .udl, tam lze měnit nastavení

providera, bohužel momentálně absolutně bez užitku. VS2005

mám na WinXp 32bit, na Win7 64bit nemám momentálně možnost nic

testovat, tam pouze spustim setup a aplikaci istaluji.

Aplikace naběhne v pořádku, ale k db se nepřipojí, problémem

je zmiňovaný Microsoft.Jet.OLEDB.4.0.

SQLCE

V SQL Management Studiu si již připravuji db na pokusy.

Přístup více uživatelů je ovlivněn od nějaké verze SQLCE ?

Ohledně přesunu na síťový disk postačí přesunout soubor *.sdf?

Je potřeba ještě nějaká komunikační knihovna (dll) k souboru?

Bylo by milé se dozvědět více o konkurenčním přístupu do db,

jaké jsou možnosti to na úrovni klienta pořešit, najdete-li si

ještě chvilku času.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Vynucením kompilace ve 32bit použije aplikace 32bit ovladače?

Ano.

Na Win7 64bit mi ovladače nejdou instalovat

Jaké ovladače? MDAC je integrované ve Windows už od verze XP.

Přístup více uživatelů je ovlivněn od nějaké verze SQLCE

Přístup pro více uživatelů je tam snad už od první verze, je limitován počtem současně připojených klientů, ale počet nevím.

Ohledně přesunu na síťový disk postačí přesunout soubor *.sdf?

Ano.

Je potřeba ještě nějaká komunikační knihovna (dll) k souboru?

Pouze runtime SQLCE v systému, kde aplikace poběží.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Jaké ovladače?

Omlouvám se za neuvedení, původně marná snaha naistalovat:

Microsoft Access Database Engine Redistributable

Máte pravdu, 32bit ovladače jsou v systému (Msjet40.dll).

Moc díky za tip s vynucením kompilace 32bit (x86).

Peru se s dalšími drobnými úpravami, poté dojde i na pokus

instalace na 64bit, myslím si, že bude díky Vám po problému.:)

Zdrojem dat prozatím původní access databáze, ale mám zájem

se seznámit s SQLCE. Díky za odpověď na mé dětské dotazy. :)

Najdete-li ještě chvilku, jak lze řešit konkurenční přístup

k databázi SQLCE? Lze zjistit připojené uživatele?

Mohu reagovat na provedené změny z jedné instance v jiné

instanci (např. obnova prvků, aktualizace datagridu) ?

Ohledně přístupu více klientů se mi podařilo nalézt také:SQL Server Compact supports multiple connections, but only from the same OS session, so not over the network. So a service and a desktop app and a web app running on the same machine can all access the database at the same time.

Obávám se, aby pro první připojené pc k db sdílené v síti,

nebyl exkluzivní přístup k db... Další pc už se nepřipojí ?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Ohledně konkurenčního přístupu již podruhé opakuji, že se to řeší pomocí aplikačního serveru. Víte vůbec, co je to 3-vrstvá architektura? Klienti mají přístup pouze do aplikačního serveru, nikoliv do databáze. Do databáze je připojen pouze aplikační server, jinak řečeno jediný uživatel. SQLCE není plnohodnotný SQL Server běžící jako služba, se kterou se komunikuje po síti.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Setup aplikaci s vynucením 32bit kompilace instaloval do ProgramFiles(x86), funguje i na 64bit, problém vyřešen.

Vím, že je těžké radit někomu, kdo nic nezná a ani nechápe souvislosti, díky za trpělivost a za pomoc se zprovozněním

připojení na db Accessu na 64bit.

pokud neexistuje aplikační server, jeho roli hraje samotný klient a tedy musí řešit i konkurenční přístup do databáze

Můžete mi ještě objasnit, jak lze zrealizovat tuto možnost,

co jste tím tehdy vlastně myslel...

Víte vůbec, co je to 3-vrstvá architektura?

Teoreticky tuším. Prakticky netuším, jak to naprogramovat

a propojit... Ale to zase vím naprosto přesně... :)

Nemáte tip na nějaký příklad, od kterého by se dalo odrazit?

Případně i pro SQL server, mám za sebou pokusy s databází

na lokální úrovni, spíš mě zajímá jak to správně napsat

a rozchodit, aby to správně fungovalo i v síti.

Uvítám případně i doporučení na nějakou knihu nebo odkaz

na studijní materiál prověřený vaší vlastní zkušeností.

Téma lze vlastně případně označit jako vyřešené. Díky.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Můžete mi ještě objasnit, jak lze zrealizovat tuto možnost,

co jste tím tehdy vlastně myslel...

Aplikační server je nějaký další program nebo služba, který vyřizuje požadavky klientů a připojuje se do databáze. Rovněž řeší konkurenční přístup klientů.

3-vrstvá architektura = klienti-aplikační server-databáze.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback