Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Allgemeine Frage zur Programmierung

Frage Entwicklung

Mitglied: Hondo0815

Hondo0815 (Level 1) - Jetzt verbinden

03.12.2009, aktualisiert 13:17 Uhr, 4737 Aufrufe, 10 Kommentare

Hallo habe allgemeine frage zur Programmierung. Zwar gehts mir um das Verständis und um evtl. fehler aufzudecken.

Also Beispiel würde ich gern ein Szenario beschreiben.

Ein Server mit einer Software die angeblich in VB6 aktuell programmiert wurde soll in einer Windows Server / Client Umgebung eingesetzt werden.
Der Programmierer der Firma hat dies nun so gelöst.

Auf dem Server (keine Installation nötig) mit einer exe Datei sein Programm in einem Ordner Verzeichnis angelegt.
Das Programm greift nach Aufruf auf eine Datenbank zu die im SQL2005 eingebunden worden ist.
Der Ordner am Server wird nun per Netzwerkfreigabe allen anderen User verfügbar gemacht.
Diese sollen jetzt mit einer Verknüpfung die zum Server läuft arbeiten.
Ist das eine übliche Programmierung? Also sicherlich kann das irgendwie funktionieren, aber sehe ich das jetzt richtig wenn ich z.b. 20 Mitarbeiter habe die auf das Programm zugreifen das der Flaschenhals die eine EXE ist? Oder ist die Programmierung falsch bzw. ist es nicht Üblich so. Sollte nicht der User ein Programm zu installieren haben das wiederum über ODBC auf die Datenbank zugreift.
Also wahrscheinlich lieg ich falsch aber bin in Sachen Programmieren und totaler Laie mir ist es halt nur jetzt mal aufgefallen!


Danke für eure Hilfe und Antworten
Grüße Marco
Mitglied: Tommy70
03.12.2009 um 13:19 Uhr
Hallo,

nein, die Exe ist nicht der Flaschenhals da die ja bei jedem der User läuft und nicht 20 mal am Server.
Und ob die Exe lokal installiert ist und über ODBC oder auf einem Server liegt und das Programm die Datenbankanbindung (mit ADO usw.) macht ist eigentlich auch egal.
So hat es sogar den Vorteil, dass es Wartungsfreundlicher ist. Wenns eine neue Version gibt installiert man die einmal auf dem Server und das wars.
Bitte warten ..
Mitglied: Snowman25
03.12.2009 um 13:19 Uhr
Hat mit programmierung so viel zu tun, wie ein Brunnen mit einer Torte...
übrigens: JA das ist so gängige praxis.. da eine Anwendung normalerweise immer lokal zwischengespeichert wird, sehe ich da auch keinen Flaschenhals. Das Programm kann von überall auf die Datenbank zugreiffen, solange es im netzwerk ausgeführt wird.
Bitte warten ..
Mitglied: Hondo0815
03.12.2009 um 13:27 Uhr
Sehe ich das dann richtig das wenn der User eine Verknüpfung hat das er trotzdem mit einer eigenen Exe direkt auf die Datenbank zugreift?
Das würde bedeuten das der User auch Rechte auf der Datenbank benötigt und nicht nur auf die Freigabe (Exe).
Danke schon mal für die Antworten.
Bitte warten ..
Mitglied: Snowman25
03.12.2009 um 13:32 Uhr
nein, der user braucht keine rechte für die DB. Die besorgt sich die Anwendung höchstwahrscheinlich selbst.
Bitte warten ..
Mitglied: Biber
03.12.2009 um 13:37 Uhr
Moin hondo0815,

nur ergänzend zu meinen Vorpostern auch von mir ein klares Jein.
  • Ein zusätzlicher Flaschenhals wird nicht erzeugt - die (physisch) auf dem Server gespeicherte *.Exe wird ja im Hauptspeicher der Clients instanziert und ausgeführt.
  • Was unter Umständen nicht so glücklich ist: möglicherweise greift diese \\netzwerk\share\xy.exe aber noch zur Laufzeit auf *ini/*.config/*.sql/*Dll-Dateien zu, die es auch nur in diesem Verzeichnis \\netzwerk\share gibt. Das wäre ein künstlicher/zusätzlicher/unnötiger Flaschenhals.... denn diese Zugriffe wären natürlich bei einer Fat-Client-Installation 1000fach schneller als übers Netzwerk
  • Was absolut ärgerlich wäre: wenn die \\netzwerk\share\xy.exe nun noch irgendwelche *.log/*.debug/*.trace-oder gar *.tmp-Dateien irgendwo auf \\netzwerk\share ablegt.

Aber den dritten (theoretischen) Programmierer-Fehler kannst du sicherlich ausschliessen, wenn du nicht gerade auf Redmonder Praktikantinnen zurückgreifst.

Grüße
Biber
Bitte warten ..
Mitglied: Hondo0815
03.12.2009 um 13:52 Uhr
Vielen Dank schön langsam versteh ichs ;)
Großes Problem hab ich halt damit das ich den Usern jetzt freigaben auf der Datenbank geben soll das die auch richtig arbeiten können. Ich dachte ja eigentlich das diese Berechtigung das Programm hergibt.

Den 2 beschriebenen Punkt kann ich mir Vorstellen das es so gehand habt wird. Aber sicher bin ich mir nicht.

Grüße und Danke
Bitte warten ..
Mitglied: it-frosch
03.12.2009 um 13:59 Uhr
Hallo Marco,

zu den Vorpostern noch zwei Anmerkungen.

Das die ausführbare Datei (EXE) auf dem Server liegt wirkt sich nur auf die Zeit beim Programmstart auf dem Client aus.
Je nach Größe der EXE "dauert" es natürlich etwas bis sie in den Arbeitsspeicher der Clientrechner geladen ist.

Das Programm (EXE) "unterhält" sich mit dem SQL Datenbankserver und fragt dessen Datenbank ab. Als Geschwindigkeitsbremse wären die
Netzwerkverbindung zum SQL Server bzw. die Performance desselben möglich.
Bitte warten ..
Mitglied: it-frosch
03.12.2009 um 14:01 Uhr
Zitat von Hondo0815:

Großes Problem hab ich halt damit das ich den Usern jetzt
freigaben auf der Datenbank geben soll das die auch richtig arbeiten
können. Ich dachte ja eigentlich das diese Berechtigung das
Programm hergibt.

Das sollte auch so sein. Ansonsten mal beim Hersteller anfragen wie das zu regeln ist.

Es besteht natürlich auch die Möglichkeit die Datenbank direkt ohne EXE (Frontend) zu bearbeiten aber diesen Wunsch
der Benutzer sollte man sich vom Verantwortlichen erst einmal absegnen lassen.
Wer in eine Datenbank schreibt sollte sich innerhalb klarer Grenzen bewegen (das macht die EXE) oder genau wissen
was er tut da Datenbanken für gewöhnlich keine UNDO (STRG+Z) haben.
Bitte warten ..
Mitglied: Tommy70
03.12.2009 um 14:06 Uhr
Zitat von Hondo0815:
Vielen Dank schön langsam versteh ichs ;)
Großes Problem hab ich halt damit das ich den Usern jetzt
freigaben auf der Datenbank geben soll das die auch richtig arbeiten
können. Ich dachte ja eigentlich das diese Berechtigung das
Programm hergibt.

Den 2 beschriebenen Punkt kann ich mir Vorstellen das es so gehand
habt wird. Aber sicher bin ich mir nicht.

Grüße und Danke

Das Programm muss sich mit einem Benutzer beim SQL-Server authentifizieren. Dafür benötigt es normalerweise einen Benutzer (bei SQL-Server-Authentifizierung).
Außer natürlich, das Programm ist so programmiert, dass es erst den Benutzer fragt (oder die Windowsauthentifizierung des Users verwendet) und sich dann erst mit diesen Daten zum SQL verbindet.
Bitte warten ..
Mitglied: Hondo0815
03.12.2009 um 14:07 Uhr
Der Hersteller bzw der Programmierer sagt das ist mein Problem wie ich die Rechte vergeben das interessiert ihn nicht. Nun denk ich halt kanns irgendwie nicht auf mich abgewälzt werden da ich ja eigentlich garnicht weis ob es auch Richtig funktioniert bzw welche Rechte ich vergeben muss. Die frage ist wenn man als Porgrammierer einen Auftrag bekommt und die Infrastruktur der Firma kennt dann müsste man das doch auch selbst Testen, denn ich denk da wäre doch dann auch bekannt welche Rechte wer benötigt. (Der Programmierer hat das nur Lokal als Admin getan) den rest darf ich rausfinden. Deswegen wundert es mich halt allgemein ein bisschen
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Netzwerkmanagement
gelöst Habe eine Frage zur Netzwerktechnik und zwei Switche? (7)

Frage von deadlef zum Thema Netzwerkmanagement ...

Backup
Backupkonzept gesucht, bzw. Frage zum Beispiel (9)

Frage von DeathNote zum Thema Backup ...

Netzwerkgrundlagen
gelöst Vpn FritzBox Synology Frage (7)

Frage von OsiMac zum Thema Netzwerkgrundlagen ...

Datenbanken
gelöst Frage zu Datenbanklayout (MSSql) (9)

Frage von theoberlin zum Thema Datenbanken ...

Heiß diskutierte Inhalte
DSL, VDSL
gelöst DSL 200m verlängern (16)

Frage von Angela44 zum Thema DSL, VDSL ...

LAN, WAN, Wireless
Per Script auf UniFi-controller zugreifen und WPA2-Key ändern (11)

Frage von Winfried-HH zum Thema LAN, WAN, Wireless ...

Windows Server
SBS 2011 Standard virtualisieren (11)

Frage von HeinrichM zum Thema Windows Server ...

Exchange Server
gelöst DHCP Sever MS Server 2012 Problem (10)

Frage von Florian86 zum Thema Exchange Server ...