Databasservern hittades inte kunde inte översätta värdnamnet "NAME" till adress: Tillfälligt fel i namnupplösning

Designad för att automatisera aktiviteter i företaget.

Till en början produkten 1C:Företag designades för att automatisera redovisning och förvaltningsredovisning (inklusive löne- och personalhantering). Men idag finner denna produkt sin tillämpning inom områden långt från de faktiska redovisningsuppgifterna.

1C:Företagär (på samma gång) både en teknisk plattform och ett användarläge. Teknikplattformen tillhandahåller objekt (data och metadata) och mekanismer för att hantera objekt. Objekt (data och metadata) beskrivs som konfigurationer. Vid automatisering av någon aktivitet kompileras dess egen konfiguration av objekt, vilket är en komplett applikationslösning. Konfigurationen skapas i ett speciellt driftläge för mjukvaruprodukten som kallas "Configurator", sedan startas driftläget som heter "1C:Enterprise", där användaren får tillgång till huvudfunktionerna implementerade i denna applikationslösning (konfiguration).

DBMS

  • 1C nedladdningssida (användarnamn/lösenord krävs, tillhandahålls av partner) http://users.v8.1c.ru/getpg.aspx?id=Platform_8_4_3_31C

PostgreSQL

Installation

  • PostgreSQL-versioner för Windows och Linux http://users.v8.1c.ru/project.jsp?id=AddCompPostgre
  • Administration GUI-dokumentation http://www.pgadmin.org/docs/dev/index.html
  • Installationsinstruktioner http://myconsult2.ru/?p=232

Länken fungerar garanterat:

  • 1C 8.2.15.301 + PostgreSQL 9.0.3-3.1C (från 1C-webbplatsen) + Windows Server 2008 SP2 (x64).

1C-versionen av PostgreSQL 9.0.3-3.1C, när den installeras på en ren Windows Server 2008 SP2 (x64), kraschar med ett fel:

Fel vid skapande av arkivkontext för "C:\Program Files (x86)\PostgreSQL\9.0.3-3.1C\bin\initdb.exe". Fel i manifest- eller policyfil "C:\Program Files (x86)\PostgreSQL\9.0.3-3.1C\bin\Microsoft.VC90.CRT.MANIFEST" på rad 4. Funktions-ID:t i manifestfilen matchar inte begärt funktions-ID. Referens - Microsoft.VC90.CRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.21022.8". Definition - Microsoft.VC90.CRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.30729.1". Använd sxstrace.exe för detaljerad diagnostik.

Tillfällig lösning: ladda ner PostgreSQL 9.0.7-distributionen från utvecklarnas officiella webbplats (distributionen väger mer än 1C), installera den normalt utan fel med standardinställningar, ta bort den från systemet via kontrollpanelen "Program och funktioner" och installera sedan versionen från 1C utan fel.

Rätt lösning: Installera Microsoft Visual C++ 2008 Redistributable, sedan är det bara att börja installera PostgreSQL 9 från 1C.

Installerar PostgreSQL 9.1.2-1.1C. Kör installationsfilen för programmet PostgreSQL

prestandajustering

I boken av Alexey Vasiliev "Arbeta med Postgresql. Tuning, scaling" rekommenderas följande parametrar för högt belastade databaser (fil postgresql.conf):

Max RAM, som PostgreSQL kan ta (detta är viktigt för stora frågor). Parametern shared_buffers i postgresql.conf är ansvarig för den. När det gäller värdet för detta värde finns det olika rekommendationer. Jag kom till slutsatsen att om detta är en server dedikerad till databasen, så kan nästan hela mängden RAM ges till en process, minus vad systemet behöver för sina behov.

I vissa fall kan det hjälpa att ändra värdet på konfigurationsparametern postgresql.conf

online_analyze.table_type = "tillfälligt"

online_analyze.table_type = "alla"

IBM DB2 Express-C

  • IBM DB2 Express-C-versioner för Windows och Linux http://users.v8.1c.ru/project.jsp?id=AddCompDB2

MSSQL

Orakel

Apache webbserver

Vi tar distributionssatsen för webbservern för Windows-plattformen från länken: http://www.apache.org/dist/httpd/binaries/win32/

Kör installationsfilen för programmet Apache

Plattform

Installation

Plattformsinstallation 1C: Enterprise 8.2

Administrering

Lägger till en infobas

Schemalagd start av extern bearbetning

Ansluta ett kassaregister

Bar-M-FR-K-inställningar

  • Slag-M-FR-K
    • Efter att ha aktiverat objektet kontant betalning du måste starta om klienten
    • Innan varan tas med Logotyp utskrift, bör den laddas in i menyn Funktioner

Ge åtkomst via webben (http/https)

På backend-servern (1c-backend.local.example.com), där 1C-plattformen är installerad, krävs Apache-webbservern. Under Windows är installationen inte särskilt svår.

Låt oss anta att Nginx är installerat på frontend-servern (1c.example.com) och tittar på det externa nätverket. I det här fallet kommer dess konfigurationsfil att se ut så här:

Server (lyssna 80; servernamn 1c.example.com; skriv om ^(.*) https://1c.example.com/Test-Conf/$1 permanent; ) server (lyssna 443; ssl on; ssl_certificate /etc/nginx/ ssl/1c.example.com.crt; ssl_certificate_key /etc/nginx/ssl/1c.example.com.key; servernamn 1c.example.com; access_log /var/log/nginx/1c.example.com-access_log; om ($request_uri = /) ( skriv om ^ https://1c.example.com/Test-Conf/ permanent; #301 redirect ) plats /Test-Conf/ ( proxy_pass http://1c-backend.local.example.com / Test-Conf /; proxy_redirect av; proxy_set_header värd $ värd; proxy_set_header X-Real-IP $ REMOTE_ADDR; client_max_body_size 50m; client_body_buffer_size 128k; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k ; # Tillåt endast åtkomst från det lokala nätverket # tillåt 172.16.0.0/12; # neka alla; ) include inc-awstats.conf; include inc-errors.conf; )

Generering av SSL-certifikat diskuteras i detalj i artikeln Nginx

Programmering

Kommunikation 1C och MySQL

Felsökning

Fel nätverksåtkomst till servern. Windows Sockets - 11001(0x00002AF9)

Möjliga alternativ för operativsystemen för servern och klienten:

  1. dator och server i domänen - ok
  2. dator och server finns inte i domänen - Åh, men ändå ok
  3. datorn är inte i domänen, men servern finns i domänen - inte ok

Om datorn inte finns i domänen, men servern finns i domänen, uppstår ett fel när den tunna klienten ansluts till servern:

Server_addr=exempel descr=Fel nätverksåtkomst till server (Windows Sockets - 11001(0x00002AF9). Denna värd är okänd.)

Detta betyder att klient 1c inte hittar adressen till exempel i hosts-filen. Navigera till mappen etc via Start > Kör > cmd

%SystemRoot%/system32/drivrutiner/etc

# lokalvärdnamnsupplösning hanteras inom själva DNS. # 127.0.0.1 localhost # ::1 localhost 192.0.0.10 exempel

Rensa dns-cachen via Start > Kör > cmd

ipconfig /flushdns

1c och HASP-nyckel i olika undernät

För att använda lokala databaser behöver du en fysisk nyckel. Installera på licensservern

  • hasp licens manager
  • fysisk nyckel
  • öppna portarna 475, 1947 TCP och UDP Domain, Private, Public för önskade subnät eller alla.

Låt oss ta en situation:

Terminalserver srv 192.0.1.9/24 Licensserver srv 192.0.1.10/24 Licensserver buh 192.0.2.10/24 Client buh 192.0.2.33/24 Client div1 192.0.3.33/24

Datorer och servrar på samma undernät som licensservern (srv och buh) ser nyckeln utan någon ytterligare konfiguration. För datorer i andra delstammar, ange adressen till licensservern i konfigurationsfilen C:\Program Files\1cv82\conf\nethasp.ini

;;NH_SERVER_ADDR= , ; IP-adresser för alla NetHASP; Licenshanterare som du vill söka efter. ; Obegränsade adresser och flera; linjer är möjliga. ; ; Möjliga exempel på adressformat: ; IP-adress: 192.114.176.65 ; Lokalt värdnamn: ftp.aladdin.co.il NH_SERVER_ADDR=192.0.1.10

Anteckningar

se även

Länkar

  • Ställa in automatisk säkerhetskopiering av 1C 8.2-databasen med det kostnadsfria programmet Effector Saver 3

Serverpaketet 1C:Enterprise och PostgreSQL är den näst mest populära bland 1C-installationer och den mest använda lösningen på Linux-plattformen. Till skillnad från Windows- och MSSQL-baserade implementeringar, där det är svårt att få saker att inte fungera, är Linux-baserade implementeringar fulla av många fallgropar för en oerfaren administratör. Det händer ofta att allt verkar göras korrekt, men fel följer fel. Idag kommer vi att överväga de mest typiska av dem.

allmän information

Innan du börjar leta efter installationsfel och i allmänhet börjar implementera serverversionen av 1C:Enterprise, skulle det vara trevligt att uppdatera din förståelse för hur det fungerar:

I små implementeringar kombineras vanligtvis 1C-servern och DBMS-servern på samma fysiska server, vilket begränsar intervallet av möjliga fel något. I vårt fall kommer vi att överväga situationen när servrarna är åtskilda av olika maskiner. I vårt testlabb implementerade vi följande schema:

Vi har två servrar som kör Ubuntu 12.04 x64, en av dem har en 1C:Enterprise version 8.3-server installerad, den andra har PostgreSQL 9.04 från Ethersoft, samt en klient som kör Windows. Vi påminner om att kunden arbetar endast med 1C-servern, som i sin tur genererar de nödvändiga frågorna till DBMS-servern. Inga förfrågningar från klienten till databashanteringsservern händer inte.


VIKTIGT: användaren "postgres" är inte autentiserad (Ident)

Det här felet uppstår när servrar är spridda över olika datorer på grund av felaktigt konfigurerad autentisering på det lokala nätverket. För att fixa, öppna /var/lib/pgsql/data/pg_hba.conf, hitta raden:

Värd för alla 192.168.31.0/24 ident

och få det att se ut så här:

Värd för alla 192.168.31.0/24 md5

var 192.168.31.0/24 - räckvidden för ditt lokala nätverk. Om det inte finns någon sådan rad ska den skapas i avsnittet IPv4 lokala anslutningar.

Databasservern hittades inte
kunde inte översätta värdnamnet "NAME" till adress: Tillfälligt fel i namnupplösning

Vid första anblicken är felet tydligt: ​​klienten kan inte lösa namnet på DBMS-servern, ett typiskt fel för små nätverk där det inte finns någon lokal DNS-server. Som en lösning, lägg till en post i filen värdar på klienten, vilket inte ger något resultat...

Och nu minns vi vad som sades lite tidigare. Klienten till DBMS-servern är 1C-servern, men inte klientdatorn, därför måste posten läggas till på 1C: Enterprise-servern till filen /etc/hosts på Linux-plattformen eller på Windows-plattformen.

Ett liknande fel kommer att uppstå om du glömt att lägga till post typ A för DBMS-servern på den lokala DNS-servern.

Fel vid utförande av en operation med en infobas
server_addr=NAME descr=11001(0x00002AF9): Denna värd är okänd.

Liksom den föregående beror detta fel på felaktig upplösning av servernamnet av klienten. Den här gången var det en klientdator. Som en lösning, lägg till i filen /etc/hosts på Linux-plattformen eller C:\Windows\System32\drivers\etc\hosts på Windows-plattformen, en post i formuläret:

192.168.31.83SRV-1C-1204

där du anger adressen och namnet på din 1C:Enterprise-server. Om du använder lokal DNS, lägg till En skiva för server 1C.

DBMS-fel: DATABAS är inte användbar

Ett mycket allvarligare fel, som indikerar att du har installerat en version av PostgreSQL som är inkompatibel med 1C:Enterprise eller gjort grova fel under installationen, till exempel att du inte installerade alla nödvändiga beroenden, särskilt biblioteket libICU.

Om du har tillräcklig erfarenhet av att administrera Linux-system kan du försöka installera de nödvändiga biblioteken och återinitiera DBMS-klustret. Annars är PostgreSQL bättre att installera om, kom ihåg att ta bort innehållet i mappen /var/lib/pgsql.

Detta fel kan också uppstå när du använder sammanställningar 9.1.x Och 9.2.x [e-postskyddad] , se nedan för detaljer.

DBMS-fel:
FEL: kunde inte ladda biblioteket "/usr/lib/x86_64-linux-gnu/postgresql/fasttrun.so"

Ganska specifikt fel specifikt för sammansättningar 9.1.x Och 9.2.x [e-postskyddad] , kan också resultera i föregående fel. Anledningen ligger i en ofixad bugg i fasttrun.so-biblioteket. Lösningen är att rulla tillbaka till monteringen 9.0.x [e-postskyddad] .

DBMS-fel
FEL: typ "mvarchar" finns inte vid tecken 31

Uppstår om databasen skapades utan hjälp av 1C:Enterprise-systemet. Kom ihåg att för att arbeta med 1C bör databaser endast skapas med verktygen på 1C-plattformen: via konsolen

eller via 1C launcher.

Databasservern hittades inte
VIKTIGT: användaren "postgres" är inte autentiserad (med lösenord)

Ett väldigt enkelt misstag. Postgres superanvändarlösenord är felaktigt. Det finns två möjliga lösningar: kom ihåg lösenordet eller ändra det. I det andra fallet måste du ändra lösenordet i egenskaperna för alla befintliga infobaser via snap-in Administration av 1C Enterprise-servrar.

Databasservern hittades inte
FATAL: databasen "NAME" finns inte

Ännu ett mycket enkelt misstag. Dess innebörd reduceras till det faktum att den angivna databasen inte existerar. Oftast uppstår det på grund av ett fel i att ange databasnamnet. Man bör komma ihåg att 1C-infobasen i klustret och DBMS-databasen är två olika enheter och kan ha olika namn. Du bör också komma ihåg att Linux-system är skiftlägeskänsliga och för dem unf83 Och UNF83 två olika namn.

  • Taggar:

Vänligen aktivera JavaScript för att se

De flesta av problemen vid anslutning till 1C: Enterprise-servern är relaterade till adresserna till maskinerna och tillgängligheten för servrarna i 1C-serverklustret.

Felet "Det begärda namnet är giltigt".

När vi ansluter till 1C:Enterprise-servern får vi ett felmeddelande:

Server_addr=tcp://localhost.localdomain:1562 descr=Fel nätverksåtkomst till servern (Windows Socket-11004(0x00002AFC). Det begärda namnet är giltigt och finns i databasen, men namnet har inga data kopplade till det som var tillåts för det.) line=259 file=.\src\DataExchangeTcpClientlmpl.cpp

Fel 11004 indikerar att det angivna servernamnet inte har en motsvarande A-post i DNS som anger dess IP-adress.

"Fel vid utförande av infobasoperation" "Fel med nätverksåtkomst till servern" (Windows Sockets 11001(0x00002AF9). Denna värd är okänd.)

Möjlig lösning

På ett misstag" Det begärda namnet är giltigt och finns i databasen, men namnet har inga data kopplade till det som har lösts för det" i filer

/home/usr1cv81/1c/1cv81/srvibrg.lst och /home/usr1cv81/1c/1cv81/reg_1541/s1CV8Reg.lst

du måste ersätta everywhere localhost.localdomain (eller adressen som anges där) med IP-adressen för serverservern (inom citattecken), eller med maskinnamnet (även inom citattecken). När du anger ett maskinnamn måste du ange en vidarekopplingszon i DNS för maskinnamn och en omvänd zon för IP-adresser.

Det gick inte att kontrollera detta råd, eftersom. misslyckades med att reproducera problemet

Servernätverksåtkomstfel

När du startar databasen i företagsläge får vi ett felmeddelande: descr = Fel nätverksåtkomst till servern (Windows Sockets - 10004(0x00002714) [e-postskyddad]) line=870 fil=.\src\DataExchangeServerImpl.cpp

Som en lösning måste du registrera adressen och namnet på servern i /etc/hosts

Nästa steg för att isolera problemet.

1. Se till att paketen är korrekt och fullständigt installerade.

rpm-qa | grep företag

borde vara något i stil med:

1C_Enterprise-ws-nls-8.1.12-101

1C_Enterprise-crs-8.1.12-101

1C_Enterprise-server-nls-8.1.12-101

1C_Enterprise-crs-nls-8.1.12-101

1C_Enterprise-common-nls-8.1.12-101

1C_Enterprise-ws-8.1.12-101

1C_Enterprise-server-8.1.12-101

1C_Enterprise-common-8.1.12-101

2. Se till att servern startar korrekt och helt

  1. ps aux | grep 1c

(ska vara ragent, rmngr, rphost)

3. Se till att filerna srvribrg.lst 1CV8Reg.lst finns och är korrekta

4. Aktivera loggar och undersök fel

Hamn oåtkomlig

Kanske har inte alla servrar i klustret startat. Du kan kontrollera med netstat -apn | grep:15 (kommer att skriva ut processer som lyssnar på portar 15xx). Servrar som inte körs är vanligtvis förknippade med felaktig indikering av nodadresser i konfigurationen. filer. /home/usr1cv81/1c/1cv81/srvibrg.lst och /home/usr1cv81/1c/1cv81/reg_1541/s1CV8Reg.lst

Systemfel matchar

Om du får ett fel första gången du startar klustret, och endast filen /home/usr1cv81/1c/1cv81/srvibrg.lst visas med lite eller inget innehåll, kan du behöva uppgradera ditt system.