Jautājums Es mēģinu izmantot atvērtās tabulas/aizvēršanas tabulas metodi, lai izveidotu savu
jauno tabulu valoda SQL ar Veiklību. Taču priekšrakstā "atvērta tabula" tiek atgriezta valoda SQL kļūda "Atvērta darbība ar xxx tabulu neizdevās piekļūt valoda SQL
datiem." Noklikšķinot uz Papildinformācija, tiek rakstīts "[Microsoft][ODBC SQL Server draiveris][SQL Server] Datu bāzē jau ir objekts AR nosaukumu PKADSY4997. [Microsoft] [ODBC SQL Server draiveris] [SQL Server] Nevarēja izveidot ierobežojumu. Skatiet iepriekšējās kļūdas."
Manas tabulas fiziskais nosaukums ir PKADSY4997, kas nepastāv un tai nav nevienas no šajā tabulā saglabātajām zDP procedūrām. Kas varētu izraisīt kļūdu?
Atbilde. Šajā gadījumā tabula jau iepriekš tika izveidota un atmesta, bet kāda iemesla dēļ
tabulas ierobežojums netika noņemts.
Vaicājumu analizētājā darbojās šis vaicājums: atlasiet * no sysobjects, kur nosaukums
= 'PKADSY4997'. Atgrieztais ID bija
151193332, un parent_obj bija 173243672.
Aplūkojot kolonnu parent_obj, nākamā darbības laikā atlases vaicājums tika izpildīts attiecībā pret vecākobjektu, un mēs nevarējām to atrast. Tas bija ierobežojums bez papildu ierobežojumiem, kā paredzēts.
Šajā brīdī mums bija nepieciešams dzēst ierobežojumu bez bāreņrindām. Tomēr vispirms ir jāmaina iestatījums.
Logā SQL Server rekvizīti ir izvēles rūtiņa, kas ir jāatzīmē, lai atļautu dzēst šo ierobežojumu — atļaut izmaiņu modificēšanu veikt tieši sistēmas katalogos.
Tagad no vaicājumu analizētāja: izdzēsiet no
sysobjects, kur nosaukums = ''PKADSY4997'. Tādējādi ierobežojums tika noņemts, un tabulu tagad var izveidot atkārtoti no
Dexterity.
Šis raksts bija TechKnowledge dokumenta ID:26107