Řešení problémů s připojením databází

Naposledy aktualizováno 20. 12. 2021

Řešte problémy s právy, chybové zprávy Microsoftu a chybové zprávy MySQL v aplikaci Dreamweaver.

Uživatelské rozhraní v aplikaci Dreamweaver a jejích novějších verzích bylo zjednodušeno. Výsledkem je skutečnost, že některé možnosti uvedené v tomto článku nemusí být v aplikaci Dreamweaver a jejích novějších verzích k dispozici. Další informace najdete v tomto článku.

Řešte problémy s právy

Jedním z nejběžnějších problémů jsou nedostatečná oprávnění složky nebo souborů. Pokud se databáze nachází na počítači s Windows 2000 nebo Windows XP a při pokusu o zobrazení dynamické stránky ve webovém prohlížeči nebo v Live view se zobrazí chybová zpráva, může být chyba způsobena problémem s oprávněními.

Účet Windows, který se pokouší o přístup k databázi, nemá dostatečná oprávnění. Účtem může být buď anonymní účet Windows (ve výchozím nastavení IUSR_computername), nebo specifický uživatelský účet, pokud byla stránka zabezpečena pro ověřený přístup.

Musíte změnit oprávnění a poskytnout účtu IUSR_computername správná oprávnění, aby webový server mohl přistupovat k souboru databáze. Kromě toho musí mít složka obsahující soubor databáze nastavena také určitá oprávnění pro zápis do této databáze.

Pokud má být ke stránce přistupováno anonymně, poskytněte účtu IUSR_computername úplnou kontrolu nad složkou a souborem databáze, jak je popsáno v postupu níže.

Navíc, pokud je cesta k databázi odkazována pomocí UNC (\\Server\Share), ujistěte se, že oprávnění sdílení poskytují účtu IUSR_computername úplný přístup. Tento krok platí i v případě, že se sdílení nachází na místním webovém serveru.

Pokud databázi zkopírujete z jiného umístění, nemusí zdědit oprávnění z cílové složky a možná budete muset změnit oprávnění pro databázi.

Kontrola a změna oprávnění souboru databáze (Windows XP)

Ujistěte se, že máte oprávnění správce na počítači.
V aplikaci Windows Explorer najděte soubor databáze nebo složku obsahující databázi, klikněte pravým tlačítkem na soubor nebo složku a vyberte příkaz Vlastnosti.
Vyberte záložku Zabezpečení.

Tento krok platí, pouze pokud máte souborový systém NTFS. Pokud máte souborový systém FAT, v dialogovém okně záložka Zabezpečení nebude.

Pokud účet IUSR_computername není uveden v seznamu Názvy skupin nebo uživatelů, klikněte na tlačítko Přidat a přidejte ho.
V dialogovém okně Vybrat uživatele nebo skupiny klikněte na tlačítko Další volby.

Dialogové okno se změní a zobrazí více voleb.

Klikněte na tlačítko Umístění a vyberte název počítače.
Kliknutím na Najít nyní zobrazíte seznam názvů účtů přidružených k počítači.
Vyberte účet IUSR_computername a klikněte na tlačítko OK. Poté znovu klikněte na tlačítko OK a zrušte dialogové okno.
Chcete-li přiřadit účtu IUSR úplná oprávnění, vyberte možnost Úplná kontrola a klikněte na tlačítko OK.

Kontrola nebo změna oprávnění souboru databáze (Windows 2000)

Ujistěte se, že máte oprávnění správce na tomto počítači.
V aplikaci Windows Explorer najděte soubor databáze nebo složku obsahující databázi, klikněte pravým tlačítkem na soubor nebo složku a vyberte příkaz Vlastnosti.
Vyberte záložku Zabezpečení.
Poznámka

Tento krok platí, pouze pokud máte souborový systém NTFS. Pokud máte systém souborů FAT, dialogové okno nebude mít kartu Zabezpečení.

Pokud účet IUSR_computername není uveden mezi účty Windows v dialogovém okně Oprávnění souborů, klikněte na tlačítko Přidat a přidejte ho.
V dialogovém okně Výběr uživatelů, počítačů nebo skupin vyberte název počítače z nabídky Hledat v a zobrazíte seznam názvů účtů přidružených k počítači.
Vyberte účet IUSR_computername a klikněte na příkaz Přidat.
Pro přiřazení úplných oprávnění účtu IUSR vyberte z nabídky Typ přístupu možnost Úplná kontrola a klikněte na tlačítko OK.

Kvůli dodatečnému zabezpečení lze nastavit oprávnění tak, aby bylo zakázáno oprávnění ke čtení pro webovou složku obsahující databázi.Procházení složky nebude povoleno, ale webové stránky budou stále moci přistupovat k databázi.

Další informace o účtu IUSR a oprávněních web serveru najdete v následujících TechNotes na webu Adobe Support Center:

Řešte problémy s chybovými zprávami Microsoftu

Tyto chybové zprávy společnosti Microsoft se mohou zobrazit při vyžádání dynamické stránky ze serveru, pokud používáte Internet Information Server (IIS) s databázovým systémem společnosti Microsoft, jako je Access nebo SQL Server.

Adobe neposkytuje technickou podporu pro software třetích stran, jako je Microsoft Windows a IIS. Pokud tyto informace váš problém nevyřeší, obraťte se na technickou podporu společnosti Microsoft nebo navštivte web podpory Microsoft na http://support.microsoft.com/.

Další informace o chybách 80004005 najdete v tématu „INFO: Troubleshooting Guide for 80004005 Errors in Active Server Pages and Microsoft Data Access Components (Q306518)“ (INFO: Průvodce řešením problémů s chybami 80004005 na stránkách ASP a v součástech MDAC) na webových stránkách společnosti Microsoft na adrese http://support.microsoft.com/default.aspx?scid=kb;cs-cz;Q306518.

[[Reference]80004005—Název zdroje dat nebyl nalezen a není zadán výchozí ovladač]

Tato chyba nastane při pokusu o zobrazení dynamické stránky ve webovém prohlížeči nebo v režimu Live View.Chybová zpráva se může lišit v závislosti na vaší databázi a web serveru. Další varianty chybové zprávy zahrnují:

  • 80004005 – Funkce SQLSetConnectAttr ovladače selhala

  • 80004005 – Obecná chyba, nelze otevřít klíč registru 'DriverId'

    Tady jsou možné příčiny a řešení:

  • Stránka nemůže najít DSN. Zkontrolujte, zda byl DSN vytvořen na webovém serveru i na lokálním počítači.

  • DSN mohl být vytvořen jako uživatelský DNS a ne jako systémový DSN. Odstraňte uživatelský DSN a vytvořte systémový DSN, kterým ho nahradíte.

Pokud neodstraníte uživatelský DSN, duplicitní názvy DSN povedou k nové chybě ODBC.

Pokud používáte Microsoft Access, databázový soubor (.mdb) může být zamknutý. Zámek může být způsobený tím, že k databázi přistupuje DSN s jiným názvem. V aplikaci Průzkumník Windows vyhledejte soubor zámku (.ldb) ve složce s databázovým souborem (.mdb) a odstraňte soubor .ldb. Pokud na stejný databázový soubor ukazuje jiný DSN, odstraňte DSN, abyste zabránili výskytu této chyby v budoucnosti. Po provedení změn restartujte počítač.

[[Reference]80004005—Nelze použít '(neznámý)'; soubor se již používá]

Tato chyba nastává při použití databáze Microsoft Access a pokusu o zobrazení dynamické stránky ve webovém prohlížeči nebo v živém náhledu.Další variace této chybové zprávy je „80004005—Microsoft Jet database engine cannot open the file (unknown)."

Pravděpodobnou příčinou je problém s oprávněními.Tady jsou některé konkrétní příčiny a řešení:

  • Účet používaný službou Internet Information Server (obvykle IUSR) nemusí mít správná oprávnění systému Windows pro databázi založenou na souborech nebo pro složku obsahující soubor. Zkontrolujte oprávnění účtu IIS (IUSR) ve správci uživatelů.

  • Možná nemáte oprávnění k vytváření nebo mazání dočasných souborů. Zkontrolujte práva k souboru a ke složce. Ujistěte se, že máte oprávnění k vytváření nebo odstraňování dočasných souborů.Dočasné soubory se obvykle vytvářejí ve stejné složce jako databáze, ale soubory mohou být také vytvořeny v jiných složkách, například /Winnt.

  • V systému Windows 2000 může být potřeba změnit hodnotu časového limitu pro DSN databáze Access. Chcete-li změnit hodnotu časového limitu, vyberte Start > Nastavení > Ovládací panely > Nástroje pro správu > Zdroje dat (ODBC).Klikněte na kartu Systém, vyberte správný název DSN a klikněte na tlačítko Konfigurovat.Klikněte na tlačítko Volby a změňte hodnotu Časový limit stránky na 5000.

    Pokud stále máte problémy, prostudujte si následující články ze znalostní báze Microsoft:

  • PRB: 80004005 „Nelze použít '(neznámé)'; Soubor se již používá" v http://support.microsoft.com/default.aspx?scid=kb;en-us;Q174943.

  • PRB: Připojení k databázi Microsoft Access selhává v primárních serverových stránkách na http://support.microsoft.com/default.aspx?scid=kb;en-us;Q253604.

  • PRB: Error „Cannot Open File Unknown“ Using Access (Chyba „Nelze otevřít soubor neznámý“ při používání programu Access) na adrese http://support.microsoft.com/default.aspx?scid=kb;cs-cz;Q166029.

[[Reference]80004005—Přihlášení se nezdařilo()]

Tato chyba nastává při použití Microsoft SQL Server a pokusu o zobrazení dynamické stránky ve web prohlížeči nebo v živém zobrazení.

Tato chyba je generována SQL Serverem, pokud nepřijme ani nerozpozná přihlašovací účet nebo heslo, které je odesíláno (pokud používáte standardní zabezpečení), nebo pokud účet Windows není mapován na účet SQL (pokud používáte integrované zabezpečení).

Tady jsou možná řešení:

  • Pokud používáte standardní bezpečnost, název účtu a heslo mohou být nesprávné. Zkuste systémový účet Admin a heslo (UID= "sa" a žádné heslo), který musí být definován v řádku připojovacího řetězce. (DSN neukládají uživatelská jména a hesla.)

  • Pokud používáte integrované zabezpečení, zkontrolujte účet Windows volající stránku a najděte k němu mapovaný účet SQL (pokud existuje).

  • SQL Server nepovoluje podtržítko v názvech účtů SQL. Pokud někdo ručně mapuje účet Windows IUSR_názevpočítače na účet SQL se stejným názvem, selže to. Namapujte jakýkoli účet, který používá podtržítko, na název účtu na SQL, který nepoužívá podtržítko.

[[Reference]80004005—Operace musí použít aktualizovatelný dotaz]

Tato chyba nastává, když událost aktualizuje sadu záznamů nebo vkládá data do sady záznamů.

Zde jsou možné příčiny a řešení:

  • Oprávnění nastavená ve složce obsahující databázi jsou příliš omezující. Oprávnění IUSR musí být nastavena na čtení/zápis.

  • Oprávnění k samotnému souboru databáze nemá platná úplná oprávnění pro čtení/zápis.

  • Databáze může být umístěna mimo adresář Inetpub/wwwroot. Ačkoli můžete data prohlížet a vyhledávat, možná je nebudete moci aktualizovat, pokud databáze není umístěna v adresáři wwwroot.

  • Sada záznamů je založena na neaktualizovatelném dotazu. Spojení jsou dobrými příklady neaktualizovatelných dotazů v databázi. Upravte dotazy tak, aby byly aktualizovatelné.

    Pro další informace o této chybě si přečtěte "PRB: ASP 'Error The Query Is Not Updateable' When You Update Table Record" v Microsoft Knowledge Base na http://support.microsoft.com/default.aspx?scid=kb;en-us;Q174640.

[[Reference]80040e07—Neshoda datového typu ve výrazu kritérií]

Tato chyba nastává, když server se pokouší zpracovat stránku obsahující chování serveru Insert Record nebo Update Record, a chování serveru se pokouší nastavit Hodnotu sloupce Date/Time v databázi Microsoft Access na prázdný řetězec ("").

Microsoft Access má silné datové typování; ukládá striktní sadu pravidel na dané Hodnoty sloupců. Prázdná řetězcová hodnota v dotazu SQL nelze uložit do sloupce Access Date/Time. V současné době je jediným známým řešením vyhnout se vkládání nebo aktualizaci sloupců Date/Time v Accessu s prázdnými řetězci ("") nebo s jakoukoli jinou hodnotou, která neodpovídá rozsahu hodnot specifikovanému pro datový typ.

[[Reference]80040e10—Příliš málo parametrů]

Tato chyba nastává, když sloupec specifikovaný ve vašem dotazu SQL neexistuje v databázové tabulce. Zkontrolujte názvy sloupců v databázové tabulce a porovnejte je s dotazem SQL.Příčinou této chyby je často překlep.

[[Reference]80040e10—Pole COUNT nesprávné]

Tato chyba nastává, když si zobrazíte náhled stránky obsahující chování serveru Insert Record ve webovém prohlížeči a pokusíte se jej použít k vložení záznamu do databáze Microsoft Access.

Možná se pokoušíte vložit záznam do databázového pole, které má otazník (?) ve svém názvu pole. Otazník je speciálním znakem pro některé databázové systémy včetně Microsoft Access a neměl by být používán pro názvy databázových tabulek nebo názvy polí.

Otevřete svůj databázový systém a smažte otazník (?) z názvů polí a aktualizujte chování serveru na vaší stránce, která odkazují na toto pole.

[[Reference]80040e14—Syntaktická chyba v příkazu INSERT INTO]

Tato chyba nastává, když se server pokouší zpracovat stránku obsahující chování serveru Insert Record.

Tato chyba obvykle vyplývá z jednoho nebo více následujících problémů s názvem pole, objektu nebo proměnné v databázi:

  • Používání vyhrazeného slova jako názvu. Většina databází má sadu vyhrazených slov. Například „date“ je vyhrazené slovo a nelze ho v databázi použít jako název sloupce.

  • Používání speciálních znaků v názvu. Příklady speciálních znaků zahrnují:

    . / * : ! # & - ?

  • Používání mezery v názvu.

    Chyba se může také vyskytnout, když je pro objekt v databázi definovaná vstupní maska a vložená data masce neodpovídají.

    Chcete-li problém odstranit, nepoužívejte při zadávání názvů sloupců ve své databázi vyhrazená slova, jako jsou například „date“, „name“, „select“, „where“ a „level“. Také odstraňte mezery a speciální znaky.

    Seznam vyhrazených slov pro běžné databázové systémy najdete na následujících webových stránkách:

  • Microsoft Access na adrese http://support.microsoft.com/default.aspx?scid=kb;cs-cz;Q209187

  • MySQL na adrese http://dev.mysql.com/doc/mysql/en/reserved-words.html

[[Reference]80040e21—Chyba ODBC při vkládání nebo aktualizaci]

Tato chyba nastává, když se server pokouší zpracovat stránku obsahující chování serveru Update Record nebo Insert Record.Databáze nemůže zpracovat operaci aktualizace nebo vložení, kterou se chování serveru pokouší provést.

Zde jsou možné příčiny a řešení:

  • Chování serveru se pokouší aktualizovat pole s automatickým číslováním databázové tabulky nebo vložit záznam do pole s automatickým číslováním. Protože pole s automatickým číslováním jsou vyplňována automaticky databázovým systémem, jakýkoliv pokus o jejich externí vyplnění hodnotou se nezdaří.

  • Data, která chování serveru aktualizuje nebo vkládá, jsou nesprávného typu pro databázové pole, například vložení data do logického (ano/ne) pole, vložení řetězce do číselného pole nebo vložení nesprávně formátovaného řetězce do pole Date/Time.

[[Reference]800a0bcd—BOF nebo EOF má hodnotu true]

Tato chyba nastává, když se pokusíte zobrazit dynamickou stránku ve webovém prohlížeči nebo v živém zobrazení.

K problému dochází, když se stránka pokouší zobrazit data z prázdné sady záznamů. Chcete-li problém vyřešit, aplikujte chování serveru Zobrazit oblast na dynamický obsah, který se má zobrazit na stránce, následovně:

Zvýraznit dynamický obsah na stránce.

V panelu Chování serveru klikněte na tlačítko Plus (+) a vyberte Zobrazit oblast > Zobrazit oblast, pokud sada záznamů není prázdná.

Vyberte sadu záznamů poskytující dynamický obsah a klikněte na OK.

Opakujte kroky 1 až 3 pro každý prvek dynamického obsahu na stránce.

Řešte problémy s chybovými zprávami MySQL

Jednou z běžných chybových zpráv, se kterou se můžete setkat při testování připojení PHP databáze k MySQL 4.1, je „Klient nepodporuje požadovaný ověřovací protokol". Proveďte závěrečnou kontrolu, že jsme přeložili celý zdrojový text (bez zbývajícího anglického textu) do jazyka cs-CZ.Zvažte upgrade klienta MySQL.

Možná se budete muset vrátit k dřívější verzi MySQL nebo nainstalovat PHP 5 a zkopírovat některé knihovny DLL.Podrobné pokyny najdete v části Nastavení vývojového prostředí PHP.