Identiteitsinvoeging is uitgeschakeld

Bij het ontwikkelen van 1C 8-uitwisselingsregels wordt op grote schaal gebruik gemaakt van de mogelijkheid om het gedrag van uitwisselingsregels programmatisch te herdefiniëren: het handlermechanisme. Eventhandlers breiden de functionaliteit aanzienlijk uit en zijn een onmisbaar hulpmiddel voor het opzetten van uitwisselingsregels in gevallen waarin interactieve configuratiemogelijkheden niet voldoende zijn.

Handlers en algoritmen zijn geschreven in de taal van het platform waarin ze tijdens de uitwisseling worden uitgevoerd.

Als dit een 1C: Enterprise 7.7-platform is, dan is de handlercode geïntegreerd in de upload- of downloadverwerkingscode. Dienovereenkomstig wordt elke handler of algoritme gescheiden in een afzonderlijke functie en is deze beschikbaar voor foutopsporing tijdens de uitwisseling.

Als het uploaden of downloaden plaatsvindt op het 1C: Enterprise 8-platform, wordt de handlercode niet geïntegreerd in de verwerkingscode van de gegevensuitwisseling, maar wordt deze geüpload naar het uitwisselingsregelsbestand. Tijdens het gegevensuitwisselingsproces wordt de code van handlers of algoritmen uit het regelsbestand gehaald en direct uitgevoerd in de context van de “Run” -instructie. Om de code van handlers en algoritmen te debuggen, kunt u de “Universal XML Data Interchange” -verwerking gebruiken.

Vraag: Kan geen expliciete waarde voor een identiteitskolom in een tabel invoegen


Goedemiddag.
Fout: "Kan geen expliciete waarde invoegen voor de identiteitskolom in tabel 'TableName' wanneer IDENTITY_INSERT is ingesteld op OFF."
Ik begrijp dat u met de volgende opdracht naar de AAN-status moet overschakelen:
SQL
1 SET IDENTITY_INSERT Tabelnaam AAN
.
Maar het verzoek wordt niet uitgevoerd... Misschien moet u de specifieke database registreren waarin de tabel is opgeslagen?
Vertel me alsjeblieft.
Bedankt.

Antwoord: F5 druk

Vraag: Een waarde invoegen in een auto-incr-veld


Hallo!

Over het algemeen moet ik gegevens overbrengen van MySQL naar SQL Server.
Ik heb verschillende tools geprobeerd, maar er gebeurde niets nuttigs (waarschijnlijk omdat de nieuwe tabellen iets andere namen voor de velden hebben, en iets andere typen velden).

Ik besloot dat het beter was om een ​​script te schrijven en dat zelf in te voegen. Maar ik kwam het feit tegen dat insert niet werkt op een auto incr-veld als ik er expliciet mijn waarde in schrijf. Bijvoorbeeld:

Maar hetzelfde.
(veld-ID uniek, primaire sleutel, autoinr.)

Wat te doen, waar te graven?

Hartelijk dank!

Antwoord: Nu probeer ik te exporteren van een lokale database naar een externe server.
Het invoegen van een paar miljoen rijen op een externe machine is behoorlijk onaangenaam. Ik gebruik de SSMS-tool en deze geeft de foutmelding 'Kan geen gegevens invoegen in de alleen-lezen kolom 'id'.
Omdat ik nu tools gebruik, kun je nergens SQL schrijven.
Zoals ik het begrijp, moeten we de beperking uit het veld verwijderen (auto incr), ik begrijp niet hoe ik het moet doen, waar moet ik graven?

Bedankt!

P.S. Externe server - azuurblauw.

Na 8 minuten toegevoegd
Verdorie, ik heb een halve dag gegoogled en kon het niet vinden, maar na het schrijven van het bericht kwam ik een oplossing tegen. Het blijkt dat je in SSMS in het venster "Brontabellen en weergaven selecteren" op moet klikken de vereiste tabellen, klik op de knop 'Bewerken' onderaan en vink het selectievakje 'Invoeging in kolom toestaan' aan.
Controleer ook zorgvuldig de codering van uw databaseserver en die van de externe databaseserver tijdens het exporteren, deze moet overeenkomen.

Vraag: Voeg een cel in een bestaand tabelveld in


Hallo!
Er is een probleem
Er is een tabel in de database die wordt ingevuld wanneer de gebruiker HTML-formuliervelden invoert
Deze tabel wordt direct op de website weergegeven.
Hoe u het toevoegen van een ander HTML-formulier aan elke rij van de databasetabel kunt implementeren
Met andere woorden: er is een advertentie die een gebruiker op de site heeft geplaatst. Al deze advertenties worden achter elkaar weergegeven via de br-tag. Hoe u aan elke advertentie een ander HTML-formulier kunt toevoegen, bestaande uit een knop: "Ik ga!" wanneer erop wordt geklikt, wordt de waarde van de kolom met een uniek ID met 1 verhoogd, beginnend bij nul. Het principe van liken op VKontakte
Ik ben nieuwkomer. Daarom is de mening van experts over de oplossing voor dit probleem interessant. Ik heb al een week last. Alvast bedankt

Vraag: Hoe kan ik waarden uit verschillende tabellen optellen of aftrekken in Access 2010? Met name de kolomwaarden


Hoe waarden uit verschillende tabellen optellen of aftrekken in Access 2010? Met name de kolomwaarden
Nou ja, elke andere actie.

Antwoord:

bericht van Nikon3

Het is noodzakelijk om deze functie te implementeren:
"Om te bepalen hoeveel geld, per type plastic kaart, klanten de afgelopen maand hebben uitgegeven."

Het is onmogelijk om het probleem op te lossen in de structuur die in uw database zit. Er staat geen datum op de onkostentabel! Ik heb de datum van de transactie ingevoerd in het gedeelte 'Contante uitgaven' en ingevuld vanuit de lantaarn. Als we aannemen dat de “laatste” maand de huidige is, dan is de vraag als volgt

SQL
1 2 3 4 5 6 SELECTEER Kaarten. [Kaartcode], Kaarten. [ Kaarttype] , SUM ([ Contante uitgaven]. [ Aantal geldbedragen dat van de rekening is afgeschreven] ) AS [ Uitgavenbedrag] FROM ([ Contante uitgaven] INNER JOIN Clients ON [ Contante uitgaven] . [ Volledige naam van de klant] = Klanten. [Klantcode]) INNER JOIN-kaarten OP klanten. [ Kaarttype ] = Kaarten. [Kaartcode] WHERE MAAND ([ Contante kosten]. Transactiedatum) = MAAND (DATUM () ) GROEP OP Kaarten. [Kaartcode], Kaarten. [Kaarttype], Kaarten. [Kaarttype]

Zie de bijlage voor de vraag "Uitgaven van de afgelopen maand"

Vraag: Waarden van een kolom afdrukken die niet gelijk zijn aan de waarden van een andere kolom


Het is noodzakelijk om de rijen van Tabel 1 weer te geven met de kolommen “A”, “B”, “C” met de voorwaarde dat de waarden van kolom “C” niet gelijk zijn aan de waarden van kolom “D” uit Tafel 2. Als u de waar-voorwaarde 'B' schrijft<>"G" geeft dan alle mogelijke opties (waarbij de eerste waarde van de ene kolom wordt vergeleken met alle waarden uit een andere kolom). Het is noodzakelijk om de waarden van "G" uit te sluiten van "B". Gegevens van hetzelfde type.

Vraag: Hoe kom ik erachter hoeveel geheugen een tabel en elke kolom in de tabel in beslag neemt?


Hoe kom ik erachter hoeveel geheugen een tabel en elke kolom in een Access-tabel gebruikt?

Antwoord: Van hulp. Databaseveldtypen

TekstTekst of een combinatie van tekst en cijfers, zoals een adres, en cijfers waarvoor geen berekeningen nodig zijn, zoals telefoonnummers, voorraadnummers of postcodes. Alleen tekens die in het veld zijn ingevoerd, worden opgeslagen. Posities die niet in het tekstveld worden gebruikt, worden niet opgeslagen. Om het maximale aantal ingevoerde tekens te bepalen, definieert u de eigenschap FieldSize.maximaal 255 tekens.
MEMO-veldLange tekst of cijfers, zoals notities of beschrijvingen.Maximaal 64.000 tekens handmatig ingevoerd of maximaal 1 GB programmatisch.
NumeriekNumerieke gegevens die worden gebruikt voor wiskundige berekeningen, met uitzondering van berekeningen waarbij geldtransacties betrokken zijn (gebruik het monetaire type). Om een ​​numeriek type te definiëren, definieert u de eigenschap FieldSize1, 2, 4 of 8 bytes. 16 bytes alleen voor replicatiecodes
Datum TijdData en tijden8 bytes.
MonetairValutawaarden. Het valutatype wordt gebruikt om afronding tijdens berekeningen te voorkomen. Er wordt uitgegaan van maximaal 15 tekens in het gehele deel van het getal en 4 in het breukgedeelte8 bytes.
BalieAutomatische invoeging van opeenvolgende (1 verschil) of willekeurige getallen bij het toevoegen van een record4 bytes. 16 bytes alleen voor codereplicatie.
LogischVelden die slechts één of twee waarden bevatten, zoals Ja/Nee, Waar/False, Ingeschakeld/Uitgeschakeld1 beetje.
OLE-objectenObjecten (zoals Microsoft Word-documenten, Microsoft Excel-spreadsheets, afbeeldingen, geluiden en andere gegevens) die zijn gemaakt in andere programma's die het OLE-protocol gebruiken. Objecten kunnen worden gekoppeld of ingebed in een Microsoft Access-tabel. Om een ​​OLE-object in een formulier of rapport weer te geven, moet u een gekoppeld objectframe gebruikenMaximaal 1 gigabyte (beperkt door schijfruimte).
HyperlinksHet veld waarin hyperlinks worden opgeslagen. Een hyperlink kan een UNC-pad of een URL zijn.Elk deel van een hyperlink kan maximaal 2048 tekens bevatten

Eén veld neemt geheugen in beslag dat gelijk is aan de som van de lengtes in de records. Tabel - de som van veldlengtes. Er zijn ook indexen, verschillende hulp- en systeemtabellen, eigenschappen en andere dingen die geheugen in beslag nemen

Voor Access 64-bit zijn er andere, langere veldtypen

Vraag: Databaseplanning: heeft het aantal kolommen in een tabel invloed op de prestaties?


Heeft het aantal kolommen in een tabel invloed op de prestaties?

Hoe zou het efficiënter zijn om twee tijdvelden te creëren? , tel_tijd en extraheer twee waarden
of maak een tt-veld waarin u deze waarden kunt scheiden met het symbool "|". en extraheer ze door ze te scheiden SUBSTRING_INDEX(tt , "|", 1) AS time , SUBSTRING_INDEX(tt , "|", -1) AS count_time

Antwoord:

bericht van WijMeSder

SUBSTRING_INDEX AS-tijd

Wat is dit en waar heb je het gevonden in Access?

bericht van WijMeSder

hoe zou het efficiënter zijn om twee velden tijd, count_time te maken en twee waarden op te halen

Zeker deze optie. Je hebt twee NUMMERS, in wezen zijn dit goede - compacte en snelle - gegevenstypen.

Wil je ze 1) omzetten naar strings, wat meer ruimte in beslag neemt en langzamer wordt verwerkt
2) het datumgegevenstype staat geen getallen toe - d.w.z. schrijf ook zelf een cheque voor de geldigheid van data
3) het sorteren is anders voor een datum als datum en voor een datum als string, is dat bij je opgekomen?
4) Welnu, het idee om gegevens met verschillende betekenissen in één veld te proppen is absoluut episch

Vraag: Hoe sorteer ik een kolom in een tabel van A tot Z met VBA?


Dag Allemaal!

Vertel me hoe ik een kolom in een tabel van A tot Z kan sorteren met VBA?

Antwoord: De tabelontwerper heeft een eigenschap Sorteervolgorde. Daar kunt u de namen van de te sorteren velden en de sorteervolgorde (Oplopend, Desc) noteren. In een open tabel kunt u een kolom selecteren en de sorteervolgorde instellen. Als u de schermafbeelding van het gegevensblad opslaat, blijft de bestelling bij volgende oproepen behouden. U kunt programmatisch een bestelling aan een open tabel (formulier, query) toewijzen, met behulp van bijvoorbeeld de opdracht SetOrderBy
als(selecteer "Remarque, Erich, Maria, Rodriguez" "Fernandez, Perez, Vladimir, Kastulovic" van Union Dual All Select "Josue, González, de Leon" van Union Dual All Select "Karam, Abu, Il, Khatab, Ogly" uit dubbel) selecteer fio uit t;

2) Automatisch aanvullen: trigger voor invoegen/bijwerken + functie voor transliteratie van Russische letters
of, als alternatief, een virtuele kolom

mijntransliteratiefunctie(familie)

p.s. Vaak komt de Latijnse spelling mogelijk niet overeen met de automatisch gegenereerde spelling
bijvoorbeeld op bankkaarten, dus ik zou naast automatisch vullen ook handmatig zorgen

Vraag: Onjuiste vulling van de identificatiekolom bij het invoegen van gegevens


Goededag. Vertel me alsjeblieft of iemand weet wat de reden zou kunnen zijn.
Ik gebruik SQL Manager 2008 voor SQL Server.
Ik maak een nieuwe tabel met een identificatiekolom, specificeer de beginwaarde - 1, verhoging - 1.
Vervolgens schrijf ik er gegevens in met een verzoek als:

In de peny steken. peny (id_customer, period_calc) waarden (@id_customer, @period_calc)

In dit geval wordt de identificatiekolom om de een of andere reden niet gevuld met één, maar met een waarde gelijk aan = Maximale identificatiewaarde in de tabel + aantal ingevoegde rijen +1.

Bijgevoegd is een screenshot van de tabel. In dit geval werden eerst twee records ingevoegd, daarna nog vijf en vervolgens nog twee.

Er is een bestand aan het bericht toegevoegd. Grootte - 7 KB

Antwoord: Duidelijk begrepen. Bedankt.)



Identity_insert is ingesteld op uit ms sql (11)

Ik weet niet zeker wat ik moet gebruiken voor "Tabel invoegen", maar als je alleen maar wat waarden probeert in te voegen, probeer dan:

Invoegen in (OpDescription,FilterID) waarden ("Hierachy Update",1);

Ik had dezelfde foutmelding, maar ik denk dat dit zou moeten werken. De ID moet automatisch worden verhoogd als het een primaire sleutel is.

Ik voer het volgende script uit op de onderstaande fout. Wat is de fout en hoe kan deze worden opgelost?

Server: Bericht 544, niveau 16, staat 1, regel 1

Het is niet mogelijk om een ​​expliciete waarde voor een identiteitskolom in tabel 'tabel' in te voegen als IDENTITY_INSERT is ingesteld op OFF.

En als u Oracle SQL Developer gebruikt om verbinding te maken, vergeet dan niet om / toe te voegen sqldev:stmt /

/ sqldev:stmt/set Identity_insert TABLE aan;

Voeg in uw organisatie voor deze tabel het DatabaseGenerated-kenmerk toe boven de kolom waarin de ID is ingesteld:

Publieke int TaskId ( get; set; )

plaats geen waarde in OperationID omdat deze automatisch wordt gegenereerd. probeer het:

Tabel(OpDescription,FilterID) waarden invoegen ("Hierachy Update",1)

U voegt waarden in voor OperationId, namelijk identificatie kolom.

U kunt een identiteitsinvoeging in de tabel opnemen, zodat u uw eigen identiteitswaarden kunt opgeven.

SET IDENTITY_INSERT Tabel1 AAN INSERT INTO Tabel1 /*Let op: de kolomlijst is hier VERPLICHT, niet optioneel*/ (OperationID, OpDescription, FilterID) VALUES (20, "Hierachy Update", 1) SET IDENTITY_INSERT Tabel1 UIT

Het probleem ligt bij het gebruik van een niet-afdrukbare DBContext of DBSet als u een interface gebruikt en de savechanges-methode op een generieke manier implementeert

Als dit jouw geval is, raad ik aan om DBContex sterk te typen, zoals

MijnDBContext.MijnEntiteit.Add(mijnnieuweObject)

Dat. Wijzigingen opslaan zal werken

Als u Liquibase gebruikt om uw SQL Server bij te werken, probeert u waarschijnlijk een recordsleutel in het autoIncrement-veld in te voegen. Door de kolom uit de invoeging te verwijderen, zou uw script moeten werken.

...

Wees zeer voorzichtig wanneer u IDENTITY_INSERT instelt op AAN. Dit is een slechte gewoonte, tenzij de database zich in de onderhoudsmodus bevindt en is ingesteld op één gebruiker. Dit heeft niet alleen gevolgen voor uw invoeging, maar ook voor degenen die toegang proberen te krijgen tot de tabel.

Waarom probeer je waarde te hechten aan het identiteitsveld?

Er is een eerder genoemde OperationId in de aanvraag, die daar niet zou moeten voorkomen, omdat deze automatisch wordt verhoogd

Tabel(OperationID,OpDescription,FilterID) waarden invoegen (20,"Hierachy Update",1)

dus uw verzoek zal zijn

Tabel(OpDescription,FilterID) waarden invoegen ("Hierachy Update",1)

Oké, ik besloot dat de mijne vrij eenvoudig was. Zorg ervoor dat uw primaire sleutel met dezelfde naam dezelfde is als uw klassen, waarbij het enige verschil is dat uw primaire sleutel er een ID aan toevoegt of verwijst naar primaire sleutels die geen verband houden met hoe de klasse is.

Als u deze foutmelding krijgt op de SQL-server, voert u deze query uit:

SET IDENTITY_INSERT tabelnaam AAN

Als de tabelnaam bijvoorbeeld student is, ziet de query er als volgt uit: ZET IDENTITY_INSERT leerling AAN

Als u deze fout krijgt in uw webtoepassing of als u een entiteitsframework gebruikt, voert u deze query eerst uit op de SQL-server en werkt u deze bij entiteitsmodel (.edmx-bestand) en creëren project, en deze fout zal worden opgelost