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, 4733 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
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Windows Server
gelöst Server 2012R2 Frage zum DHCP Failover (6)

Frage von Coreknabe zum Thema Windows Server ...

LAN, WAN, Wireless
Frage zum Erzeugen eines portbasiertem VLAN (7)

Frage von presto-18 zum Thema LAN, WAN, Wireless ...

LAN, WAN, Wireless
gelöst HP Switches - Frage zu Spanning Tree bzw. Loop Back Protection (12)

Frage von chfran zum Thema LAN, WAN, Wireless ...

Hyper-V
Grundsatz Frage Anbindung Hyper V Hosts ans Netzwerk (7)

Frage von Eifeladmin zum Thema Hyper-V ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (14)

Frage von liquidbase zum Thema Windows Update ...