Databaseserveren ble ikke funnet, kunne ikke oversette vertsnavnet "NAME" til adresse: Midlertidig feil i navneoppløsningen

Designet for automatisering av aktiviteter i virksomheten.

Opprinnelig var produktet 1C: Enterprise ble designet for å automatisere regnskap og ledelsesregnskap (inkludert lønn og personaladministrasjon). Men i dag finner dette produktet sin anvendelse på områder som er langt fra de faktiske regnskapsoppgavene.

1C: Enterprise er (samtidig) både en teknologisk plattform og en brukermodus. Teknologiplattformen gir objekter (data og metadata) og objektstyringsmekanismer. Objekter (data og metadata) beskrives som konfigurasjoner... Når du automatiserer enhver aktivitet, utarbeides sin egen konfigurasjon av objekter, som er en komplett anvendt løsning... Konfigurasjonen opprettes i en spesiell driftsmodus for programvareproduktet kalt "Configurator", deretter starter driftsmodusen "1C: Enterprise", der brukeren får tilgang til hovedfunksjonene implementert i denne applikasjonsløsningen (konfigurasjon).

DBMS

  • 1C nedlastingsside (pålogging/passord kreves, levert av en partner) http://users.v8.1c.ru/getpg.aspx?id=Platform_8_4_3_31C

PostgreSQL

Installasjon

  • PostgreSQL -versjoner for Windows og Linux http://users.v8.1c.ru/project.jsp?id=AddCompPostgre
  • GUI -administrasjonsdokumentasjon http://www.pgadmin.org/docs/dev/index.html
  • Installasjonsinstruksjoner http://myconsult2.ru/?p=232

Pakken fungerer garantert:

  • 1C 8.2.15.301 + PostgreSQL 9.0.3-3.1C (fra 1C-området) + Windows Server 2008 SP2 (x64).

1C-versjonen av PostgreSQL 9.0.3-3.1C når den er installert på en ren Windows Server 2008 SP2 (x64) krasjer med en feil:

Feil under opprettelse av arkivkontekst for "C: \ Program Files (x86) \ PostgreSQL \ 9.0.3-3.1C \ bin \ initdb.exe". Feil i manifest eller policyfil "C: \ Program Files (x86) \ PostgreSQL \ 9.0.3-3.1C \ bin \ Microsoft.VC90.CRT.MANIFEST" på linje 4. Komponent-ID-en i manifestfilen samsvarer ikke med forespurt komponent -ID. Koblingen er Microsoft.VC90.CRT, processorArchitecture = "x86", publicKeyToken = "1fc8b3b9a1e18e3b", type = "win32", versjon = "9.0.21022.8". Definisjonen er Microsoft.VC90.CRT, processorArchitecture = "x86", publicKeyToken = "1fc8b3b9a1e18e3b", type = "win32", versjon = "9.0.30729.1". Bruk sxstrace.exe for detaljert diagnostikk.

Midlertidig løsning: last ned PostgreSQL 9.0.7 -distribusjonen fra utviklerens offisielle nettsted (distribusjonen veier mer enn 1C), installer normalt uten feil med standardinnstillingene, avinstaller fra systemet via "Programmer og funksjoner" kontrollpanel, og installer deretter 1C -versjon uten feil.

Riktig løsning: Installer Microsoft Visual C ++ 2008 Redistributable, så er det bare å begynne å installere PostgreSQL 9 fra 1C.

Installere PostgreSQL 9.1.2-1.1C. Kjør installasjonsfilen til programmet PostgreSQL

Performance tuning

I boken av Alexei Vasiliev “Working with Postgresql. Tuning, skalering "følgende parametere anbefales for databaser med høy belastning (postgresql.conf-fil):

Maksimal RAM som PostgreSQL kan oppta (dette er viktig for store forespørsler). Parameteren shared_buffers i postgresql.conf er ansvarlig for den. Det er forskjellige anbefalinger angående verdien for denne mengden. Jeg kom til den konklusjonen at hvis dette er en server dedikert til databasen, kan en prosess gi nesten hele mengden RAM minus det systemet trenger for sine behov.

I noen tilfeller kan det være nyttig å erstatte verdien av konfigurasjonsparameteren postgresql.conf

Online_analyze.table_type = "midlertidig"

Online_analyze.table_type = "alt"

IBM DB2 Express-C

  • IBM DB2 Express-C for Windows og Linux http://users.v8.1c.ru/project.jsp?id=AddCompDB2

MSSQL

Oracle

Apache webserver

Vi tar distribusjonskittet til webserveren for Windows -plattformen fra lenken: http://www.apache.org/dist/httpd/binaries/win32/

Kjør installasjonsfilen til programmet Apache

Plattform

Installasjon

Installere plattformen 1C: Enterprise 8.2

Administrasjon

Legger til en infobase

Kjør ekstern behandling etter en tidsplan

Kassa tilkobling

Shtrih-M-FR-K innstillinger

  • Shtrih-M-FR-K
    • Etter å ha slått på varen Kontant betaling klienten bør startes på nytt
    • Før du slår på varen Logo utskrift, bør den lastes inn i menyen Funksjoner

Tilbyr nettilgang (http / https)

På backend-serveren (1c-backend.local.example.com), hvor 1C-plattformen er installert, kreves Apache-webserveren. Under Windows er installasjonen ikke spesielt vanskelig.

La oss anta at det er Nginx på frontend -serveren (1c.example.com) som ser til det eksterne nettverket. I dette tilfellet vil konfigurasjonsfilen se slik ut:

Server (lytt 80; servernavn 1c.eksempel.com; skriv om ^ (. *) Https://1c.example.com/Test-Conf/$1 permanent;) server (lytt 443; ssl på; ssl_certificate/etc/nginx/ ssl/1c.example.com.crt; ssl_certificate_key /etc/nginx/ssl/1c.example.com.key; servernavn 1c.example.com; access_log /var/log/nginx/1c.example.com-access_log; hvis ($ request_uri =/) (omskriv ^ https://1c.example.com/Test-Conf/ permanent; # 301 omdirigering) location/Test-Conf/(proxy_pass http://1c-backend.local.example.com / Test-Conf /; proxy_redirect off; proxy_set_header host $ host; 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_4; 64_ proxy_buffer_size ; # Tillat bare tilgang fra det lokale nettverket # tillat 172.16.0.0/12; # nekt alt;) inkluderer inc-awstats.conf; inkludere inc-errors.conf;)

Generering av SSL -sertifikater er beskrevet i detalj i Nginx -artikkelen

Programmering

Kommunikasjon 1C og MySQL

Feilsøking

Feil i servernettverkstilgang. Windows Sockets - 11001 (0x00002AF9)

Mulige alternativer for driften av server- og klientoperativsystemene:

  1. datamaskin og server i domenet - ok
  2. datamaskin og server ikke på et domene - Oops, men fortsatt ok
  3. datamaskinen er ikke i domenet, og serveren er i domenet - ikke ok

Hvis datamaskinen ikke er i domenet, men serveren er i domenet, oppstår det en feil når den tynne klienten kobler seg til serveren:

Server_addr = eksempel descr = Feil på servernettverkstilgang (Windows Sockets - 11001 (0x00002AF9). Denne verten er ukjent.)

Dette betyr at klient 1c ikke finner adresseeksemplet i vertsfilen. Gå til etc -mappen via Start> Kjør> cmd

% SystemRoot% / system32 / drivers / etc

# lokalvertsnavnoppløsning håndteres i DNS selv. # 127.0.0.1 localhost # :: 1 localhost 192.0.0.10 eksempel

Slett dns -cachen via Start> Kjør> cmd

Ipconfig / flushdns

1c og HASP -nøkkel i forskjellige delnett

En fysisk nøkkel er nødvendig for å bruke lokale databaser. Installer på lisensserveren

  • hasp lisensansvarlig
  • fysisk nøkkel
  • åpne porter 475, 1947 TCP og UDP Domain, Private, Public for de ønskede delnettene eller alle.

La oss ta en situasjon:

Terminal Server srv 192.0.1.9/24 License Server srv 192.0.1.10/24 License Server buh 192.0.2.10/24 Client buh 192.0.2.33/24 Client div1 192.0.3.33/24

Datamaskiner og servere på samme delnett med lisensserveren (srv og buh) ser nøkkelen uten tilleggskonfigurasjon. For datamaskiner i andre delstater angir du adressen til lisensserveren i konfigurasjonsfilen C: \ Program Files \ 1cv82 \ conf \ nethasp.ini

;; NH_SERVER_ADDR = , ; IP -adresser til alle NetHASP; Lisensansvarlige du vil søke etter. ; Ubegrensede adresser og flere; linjer er mulige. ; ; Mulige eksempler på adresseformater :; IP -adresse: 192.114.176.65; Lokalt vertsnavn: ftp.aladdin.co.il NH_SERVER_ADDR = 192.0.1.10

Notater

se også

Lenker

  • Sette opp en automatisk sikkerhetskopi av 1C 8.2 -databasen ved hjelp av gratisprogrammet Effector Saver 3

Serverbunten 1C: Enterprise og PostgreSQL er den nest mest populære blant 1C -installasjoner og den mest brukte løsningen på Linux -plattformen. I motsetning til Windows og MSSQL-baserte distribusjoner, der det er vanskelig å få ting til å ikke fungere, er Linux-baserte distribusjoner fulle av fallgruver for den uerfarne administratoren. Det skjer ofte at alt ser ut til å være gjort riktig, men feil følger feil. I dag skal vi se på de mest typiske.

generell informasjon

Før du begynner å lete etter installasjonsfeil og generelt begynner å implementere serverversjonen av 1C: Enterprise, ville det være fint å oppdatere forståelsen av hvordan det fungerer:

I små distribusjoner kombineres 1C -serveren og DBMS -serveren vanligvis på en fysisk server, noe som reduserer omfanget av mulige feil litt. I vårt tilfelle vil vi vurdere situasjonen når serverne er plassert på forskjellige maskiner. I testlaboratoriet vårt distribuerte vi følgende skjema:

Vi disponerer to servere som kjører Ubuntu 12.04 x64, den ene har 1C: Enterprise versjon 8.3, den andre har PostgreSQL 9.04 fra Ethersoft, samt en klient som kjører Windows. Vi minner deg om at klienten jobber kun med 1C -serveren, som igjen genererer de nødvendige forespørslene til DBMS -serveren. Ingen forespørsler fra klienten til databasesystemet skjer ikke.


VIKTIG: brukeren "postgres" er ikke autentisert (Ident)

Denne feilen oppstår når serverne er spredt over forskjellige PCer på grunn av feil konfigurert autentisering på det lokale nettverket. Å eliminere åpent /var/lib/pgsql/data/pg_hba.conf, finn linjen:

Vert alle 192.168.31.0/24 ident

og bringe det til skjemaet:

Vert alle 192.168.31.0/24 md5

hvor 192.168.31.0/24 - rekkevidden til ditt lokale nettverk. Hvis det ikke er en slik linje, bør den opprettes i seksjonen IPv4 lokale tilkoblinger.

Databaseserver ble ikke funnet
kunne ikke oversette vertsnavnet "NAME" til adresse: Midlertidig feil i navneoppløsningen

Ved første øyekast er feilen forståelig: klienten kan ikke løse navnet på DBMS -serveren, en typisk feil for små nettverk der det ikke er noen lokal DNS -server. Som en løsning, legg til en oppføring i filen verter på klienten, noe som ikke gir noe resultat ...

Og nå husker vi det som ble sagt litt tidligere. Klienten til DBMS -serveren er 1C -serveren, men ikke klient -PC -en, derfor må oppføringen legges til på 1C: Enterprise -serveren i filen / etc / hosts på Linux -plattformen eller på Windows -plattformen.

En lignende feil vil oppstå hvis du har glemt å legge til posttype A for DBMS -serveren på den lokale DNS -serveren.

Det oppstod en feil under operasjonen med en infobase
server_addr = NAME descr = 11001 (0x00002AF9): Denne verten er ukjent.

I likhet med den forrige skyldes denne feilen klientens feil oppløsning av servernavnet. Denne gangen var det klient -PC -en. Som en løsning, legg til filen / etc / hosts på Linux -plattform eller i C: \ Windows \ System32 \ drivers \ etc \ hosts på Windows -plattformen, en oppføring av skjemaet:

192.168.31.83SRV-1C-1204

hvor du angir adressen og navnet på din 1C: Enterprise -server. Hvis du bruker lokal DNS, må du legge til En rekord for 1C -server.

DBMS -feil: DATABASE er ikke brukbar

En mye mer alvorlig feil, som indikerer at du installerte en versjon av PostgreSQL som er inkompatibel med 1C: Enterprise eller gjorde grove feil under installasjonen, for eksempel, installerte ikke alle nødvendige avhengigheter, spesielt biblioteket libICU.

Hvis du har tilstrekkelig erfaring med å administrere Linux-systemer, kan du prøve å installere de nødvendige bibliotekene og initialisere DBMS-klyngen på nytt. Ellers er PostgreSQL bedre å installere på nytt, husk å slette innholdet i mappen / var / lib / pgsql.

Denne feilen kan også oppstå når du bruker enheter 9.1.x og 9.2.x [e -postbeskyttet] , se nedenfor for detaljer.

DBMS -feil:
FEIL: kunne ikke laste inn biblioteket "/usr/lib/x86_64-linux-gnu/postgresql/fasttrun.so"

Ganske spesifikk feil spesifikt for samlinger 9.1.x og 9.2.x [e -postbeskyttet] , kan også føre til den forrige feilen. Årsaken ligger i en ukorrigert feil i fasttrun.so -biblioteket. Løsningen er å rulle tilbake til enheten 9.0.x [e -postbeskyttet] .

DBMS -feil
FEIL: type "mvarchar" eksisterer ikke i tegn 31

Oppstår hvis databasen ble opprettet uten hjelp av 1C: Enterprise -systemet. Husk at for å jobbe med 1C, bør databaser bare opprettes ved hjelp av verktøyene på 1C -plattformen: via konsollen

eller gjennom 1C -lanseringen.

Databaseserver ble ikke funnet
VIKTIG: brukeren "postgres" er ikke autentisert (med passord)

En veldig enkel feil. Postgres DBMS -superbrukerpassordet er feil. Det er to løsninger: husk passordet eller endre det. I det andre tilfellet må du endre passordet i egenskapene til alle eksisterende infobaser ved å bruke snap-in Administrasjon av 1C Enterprise -servere.

Databaseserver ble ikke funnet
FATAL: databasen "NAME" eksisterer ikke

Nok en veldig enkel feil. Betydningen koker ned til det faktum at den angitte databasen ikke eksisterer. Oftest oppstår det på grunn av en feil i å spesifisere navnet på basen. Det skal huskes at 1C -infobasen i klyngen og DBMS -databasen er to forskjellige enheter og kan ha forskjellige navn. Det bør også huskes at Linux -systemer er store og små bokstaver unf83 og UNF83 to forskjellige navn.

  • Etiketter:

Vennligst aktiver JavaScript for å se

De fleste problemene ved tilkobling til 1C: Enterprise -serveren er relatert til maskinens adresser og tilgjengeligheten av servere i 1C -serverklyngen.

Feil "Det forespurte navnet er gyldig"

Når vi kobler til 1C: Enterprise -serveren, får vi en feilmelding:

Server_addr = tcp: //localhost.localdomain: 1562 descr = Feil i servernettverkstilgang (Windows Socket-11004 (0x00002AFC). Det forespurte navnet er gyldig og finnes i databasen, men navnet har ikke tilknyttet informasjon som var tillatt for it.) line = 259 file =. \ src \ DataExchangeTcpClientlmpl.cpp

Feil 11004 indikerer at det angitte servernavnet i DNS ikke har en tilsvarende type A -post som identifiserer IP -adressen.

"Det oppstod en feil under utførelse av en infobaseoperasjon" "Det oppstod en feil under nettverkstilgang til serveren" (Windows Sockets 11001 (0x00002AF9). Denne verten er ukjent.)

Mulig løsning

Ved feil " Det forespurte navnet er gyldig og finnes i databasen, men navnet har ikke tilknyttede data som ble løst for det"i filer

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

du må erstatte localhost.localdomain overalt (eller adressen som er angitt der) med IP -adressen til serverserveren (i anførselstegn), eller med navnet på maskinen (også i anførselstegn). Når du angir et maskinnavn, må du angi en forover sone i DNS for maskinnavn og en omvendt sone for IP -adresser.

Det var ikke mulig å sjekke dette rådet siden kunne ikke gjengi problemet

Feil i servernettverkstilgang

Når vi starter databasen i bedriftsmodus, får vi en feilmelding: descr = Feil nettverkstilgang til serveren (Windows Sockets - 10004 (0x00002714) [e -postbeskyttet]) line = 870 file =. \ src \ DataExchangeServerImpl.cpp

Som en løsning må du registrere adressen og servernavnet i / etc / hosts

Ytterligere tiltak for å lokalisere problemet.

1. Kontroller at pakkene er installert riktig og fullstendig.

rpm -qa | grep nterprise

burde være noe sånt som:

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. Kontroller at serveren starter riktig og fullstendig

  1. ps aux | grep 1c

(må være ragent, rmngr, rphost)

3. Kontroller at filene srvribrg.lst 1CV8Reg.lst er tilstede og inneholder riktig

4. Aktiver logger og undersøk feil

Port utilgjengelighet

Det er mulig at ikke alle servere i klyngen har startet. Du kan sjekke det med kommandoen netstat -apn | grep: 15 (skriver ut prosesser som lytter på 15xx -porter). Serveren som ikke kjører er vanligvis forbundet med feil indikasjon på vertsadressene i konf. filer. /home/usr1cv81/1c/1cv81/srvibrg.lst og /home/usr1cv81/1c/1cv81/reg_1541/s1CV8Reg.lst

System mismatch

Hvis du får en feilmelding første gang du starter klyngen, og bare filen /home/usr1cv81/1c/1cv81/srvibrg.lst vises med lite eller ingen innhold, kan det hende du må oppdatere systemet.