Zum Inhalt springen

streffin

Mitglieder
  • Gesamte Inhalte

    337
  • Benutzer seit

  • Letzter Besuch

Beiträge von streffin

  1. Ich geb Enno recht.

    In Access ne saubere Rechtestruktur hinzubasteln ist ein ding der Unmöglichkeit.

    Auf was Enno anspielt ist, die Tabellen auf einem richtigen DBMS anzulegen, und in Access einzubinden. Das würde bedeuten, dass Access lokal keine Daten verwaltet, sondern die Daten aus einem Backend bezieht.

    Am Beispiel von MSSQL kannst da da dann z.b. die Active Directory logins / Gruppen zur hernehmen, um den einzelnen Usern dann die Rechte zuzuweisen. Access is aber nicht nur ne be*****ene Datenbank, es ist auch nen be*****enes Frontend. Also wenn das größere Datenmengen sind, dann lass die Finger von Access, da wirste keine Freude mit haben auf Dauer.

  2. Meiner sehr persöhnlichen Meinung nach ist Access in einem Wort : *******e.

    Ich würd das Frontend selbst schreiben, mit Visual Studio ist die Gui schnell erledigt, und du kannst das Frontend so einfach / "speziell" gestalten, wie es die Anforderungen hergeben.

    Für ein FISI IHK Projekt, würd ich die Frontend Geschichte aber sein lassen. Ne saubere DB Backend Struktur implementieren ist vom Anspruch und Zeitaufwand her denke ich genug.

    Gruß

    Sven

  3. Prinzipiell müsste mach vom sauberen aufsetzen eines DBMS Backends doch auch ganz gut eine FISI Projektarbeit machen können würde ich meinen.

    Also so komplett mit allem und Scharf.

    Backupstrategie, Logins per ActiveDirectory, DB-User, Login - User Mapping, User rechte, die eigentliche Datenbank und Datenstruktur...

    Gibt doch schon bissl was her das Thema würd ich sagen.

    Das Frontend, das die Daten dann abruft und reinschreibt wäre allerdings dann schon eher für einen FIAE.

    BTW, was ich weiter oben irgendwo gelesen habe, selbstverständlich kann man über einen Webbrowser auf die DB zugreifen. Muss derjenige welcher, das halt per PHP / JS die connection aufbauen, und die SELECTS / UPDATES / INSERTS per intranet Seite erstellen und absetzen, mit \\localhost\datenbank\ ist es natürlich nicht getan.

    Wenn ihr eh MS Lizensen habt, würd ich nen MSSQL Server 2008 R2 oder gleich den MSSQL Server 2012 für hernehmen, auf keinen Fall freiwillig Access, da tuste dir keinen Gefallen mit auf längere Sicht (du kannst notgedrungen, die Tabellen vom SQL Server per ODBC in Access einbinden, und dann Access als Frontend benutzen, Access ist aber ... Access halt..... )

    Was das "leicht zu verwalten" angeht, alles ist einfach wenn man sich mit auskennt und es in kleinem Ramen bleibt. Selbst mit Excel kannst du komplexe Formulare und VBA-Quellcode erstellen. Wenn dein Chef was sucht wo man sich keine Gedanken bei machen muss, dann heist das, "friss oder stirb - Fertigsoftware mit wenig Funktionsumfang"

    Gruß

    Sven

  4. "Ursache: Keiner vertrauten SQL Server-Verbindung zugeordnet."

    trusted connections laufen über die ActiveDirectory Usergroups.

    Wenn das ganze allgemein funktioniert, aber auf dem einen Rechner / User nicht, würd ich beim ActiveDirectory ansetzen. Z.b. dass die AD Gruppe keinen SQL Server login zugeordnet hat oder ähnliches.

    Gruß

    Sven

  5. Ich bestell sowas eh über Amazon.uk.... deutsche Versionen sind mir allein in der Sprachausgabe zuwieder, davon abgesehen ist es auch mit shipping deutlich billiger auf der Insel ;)

  6. mmmhm Prinzipiell hast du recht dimitry, aber zumindest unter MSSQL bringt eine View unter betimmten Umständen durchaus etwas Performance.

    Beispiel wäre, dass gefilterte Views parametisiert werden, und der Execution Plan dann auch für komplexe Querys eher gechached und gefunden wird und so Geschichten. Kann also durchaus auch Performance relevant sein.

    Wenn ich jetzt noch Tabellen Partitionierung mit reindenk, dann gibt das langsam richtig lustige Konstellationen, und eventuell auch deutliche Performance unterschiede. Von lock escalations mal ganz zu schweigen....

    Anwendungsfall ist häufig, dass man die View mit WITH CHECK OPTION anlegt und damit db Usern Rechte auf bestimmte Teilbereiche einer Tabelle einräumt, während sie auf anderen nicht zugreifen können.

    Beispielsweise

     SELECT * FROM tabelle WHERE country = 'de' 

    sowas in der Richtung.

    Wenn ich das als View mit with check option anlege, fängt das auch Inserts ab, die nicht mit der Where Bedingung übereinstimmen.

    Es führt eventuell für so eine grundsätzliche Verständnissfrage zu weit, und ich geh da jetzt bei Gott auch nicht auf alles ein, aber Views können schon einiges mehr als nur das zugrundeliegende Query ausführen.

    War jetzt gesprochen für MSSQL. Oracle, DB2, Postgree und was es sonst noch alles gibt, ist da jeweils wieder ein eigenes Thema für sich

    Gruß

    Sven

  7. Ich würd sagen, Probetage bieten immer nen guten Einblick.

    Was macht einen guten FIAE / FISI Azubi aus ?

    Ich würde sagen Logisches Denken / die Fähigkeit abstrakt zu denken, plus die Fähigkeit sich selbstständig in neue Themen einzuarbeiten.

    Probetag. Nimm den Bewerber, setz den vor was das er noch nich kann, gib dem Google und nen Ansprechpartner, der ihm Fragen beantworten kann. Der eine Tag gibt mehr Aufschluss über die Eignung als das Zeugniss.

    Gruß

    Sven

  8. Ach des gleiche hast bei allem was nich direkt nem Kunden abgerechnet werden kann.

    Ist bei mir in der Firma das gleiche in Grün. Eigentlich sollt ma hingehen, und mal einen Entwickler abstellen, der ein Jahr lang nix anderes macht, als die gröbsten Performance-Schnitzer im Frontend (entlastet die Citrix Farm) und DB Backend (verbessert response time und verringer CPU Last) zu fixen.

    Aber das is ja nur nen Kostenpunkt, was hat man denn davon ... Is viel einfacher dem Chef zu erklären, dass da die Firma ja gewachsen ist, man nen neuen dickeren Server braucht, um Schritt halten zu können ...... Wenn ich drüber nachdenk wird mir übel

  9. Du erwartest von Anderen die Mühe, sich um dein Problem zu kümmern, als bemühe dich um eine zivilisierte Sprache und Rechtschreibung.

    Was hat das mit Basic zu tun?

    Definiere mal eine präzise Anforderung, die Win-Taskbar kannst sonstwo vom Anwender positioniert sein?

    Wenn du ein ferties Programm suchst, dann nimm Google und suche selber, es gibt sicher Tausender von Uhren für Win.

    Wenn du es selber programmieren willst, dann lern erstmal die Basics, z.B. ganz simpel wozu ein Textfeld dient, nämlich nicht zur Anzeige.

    1. Satz : als[o] bemühe dich um eine zivilisierte Sprache ... Die Satzkonstuktion ist auch gramatikalisch schmerzhaft.

    3. Satz : "Definiere mal eine präzise Anforderung, die Win-Taskbar kannst sonstwo vom Anwender positioniert sein?"

    -> Kannst du mir das bitte ins Deutsche übersetzen ?

    4. Satz : "ferties" ? "Tausender" ???

    --> Wenn man die Rechtschreibpolizei spielen möchte, dann bitte doch auch selbst Korrektur lesen !

    Sachlich gesprochen :

    @Martin, dein Beitrag war nicht hilfreich, und den hättest du auch sein lassen können.

    @Ulli, kuck dir mal den link hier an : msdn.microsoft.com/de-at/magazine/cc163370.aspx

    Gruß

    Sven

  10. Da kannste ja gleich Gleitmittel nehmen?!:floet::beagolisc

    in Kombination mit

    Ich würde auch keinem Mann einfach ungesehen was technisches in die Hand drücken.

    Wenn du so denkst, kauf nen USB Stick, tu was nettes drauf und gib ihr das.

    Selbst wenn der Kram der dann drauf ist nicht ihr Fall ist, kann sie den löschen und hat nen Datenträger...

    Gäbe dann ein USB Stick gefüllt mit porn, DAS wär doch mal nen Anti-Geschenk (das Geleitmittel mit in die Schachtel, dann hast das Veilchen sicher) ;)

  11. Entweder ich habs überlesen, oder die wichtigeste information fehlt (mal wieder)... das DBMS mit dem du das umsetzen willst.

    Unter MSSQL gäbe es den VARBINARY datentyp, der wäre hier mein Mittel der Wahl. Du solltest dir auch FILESTREAM ansehen. Vereinfacht und stark gekürzt, per Filestream kannst du einrichten, dass die Binärdaten quasi direkt ins Filesystem geschrieben werden, ohne deine Datenbank Filegroups aufzublasen. Du kannst auch getrennt steuern, ob das mit in die DB Backups fließt, oder nicht.

    Ich würd nur unter zwingenden Umständen den relativen Pfad zu den dateien in eine spalte schreiben. Da musst du dann wieder dafür sorgen, dass jeder die Rechte auf dem Fileserver hat, dass niemand den es nichts angeht die rechte hat, etc etc. Ist zwar einfach und schnell gemacht, wär für mich aber nicht sauber, und nur ne quick and dirty Lösung des Problems.

    Davon abgesehen kannst du die Rechteverwaltung viel schöner im SQL Server betreiben, da du die Tabelle in einer Stoired Proc wrappen kannst, in der du dann die Rechte auf einzelne Dokumente managen kannst (dem Application User rechte auf die SP geben, aber nicht auf die Tabelle drunter).

    Dann gibst du ausser den Systemseitigen accounts für die Datenbank, die Backups etc, niemandem Rechte auf den Ordner im Filesystem wo die Dokumente liegen, und voila. Zugriff nur noch über das Backend, Rechtevergabe steuerbar bis runter auf ein einzelnes Dokument.

    Dann kannst noch Foreign Keys benutzen, damit dir keiner nen File löscht das noch gebraucht wird, kannst Constraints drauf setzen was die Dateigröße angeht, und andere so hübsche Sachen. Was will man mehr ?

    //edit :

    Wenn das eine "Suche" mit Ergebnis Link zum File sein soll, würd ich an deiner Stelle auch mal über eine Volltextsuche nachdenken.

    Gruß

    Sven

  12. Ich hab jetzt keine MySql DB griffbereit (schreib das, das nächste mal bitte dazu), aber das hier sollte normal tun:

    
    SELECT a.album, sq.*
    
    FROM album a 
    
    LEFT JOIN (
    
          SELECT 
    
          FROM album_picture ap INNER JOIN picture p on ap.picture_id = p.id
    
          WHERE ap.ablum_id = a.id
    
          ORDER BY RAND() LIMIT 1 
    
    )sq ON a sq.album_id = a.id
    
    
    

    MySql ist nicht ganz mein Steckenpferd, daher keine garantie für die Syntax

    Hier zum Nachlesen des Prinzips dahinter :

    MySQL subquery to refer to field in parent query - Stack Overflow

    Gruß

    Sven

  13. Hi,

    du musst den String 2x typecasten, einmal den String zum date, dann das date wieder zum String in der richtigen formatierung.

    
    SELECT 
    
    CONVERT(varchar(12), 
    
                CONVERT(date, SUBSTRING(<FIELDNAME>, 7, 10), 120)
    
                    ,104) 
    
    from <TABLENAME>
    
    

    das snipped von el_pollo funktioniert, weil durch die variablen zuweisung der typecast impliziert wird. Wobei es immer besser ist, das format anzugeben, anstatt sich auf die server und session language settings zu verlassen.

    Das ganze funktioniert aber nur, wenn du weist wo im String dein Datum steht. Sobald das variabel wird, musst du dir eine Funktion schreiben, die das Datum erstmal findet. Das könntest du in SQL lösen (wär aber langsam) oder eine CLR dafür schreiben. In .Net wäre das per Regex in 5 Zeilen gegessen.

    Gruß

    Sven

  14. Hi,

    folgendes Problem: es müssen zwei grosse Exceldateien durchlaufen werden.

    Es soll geprüft werden, ob Spalte A von Exceldatei 1 in Spalte B, C oder D von Exceldatei 2 enthalten ist.

    Das Ganze ist mittels foreach- Schleifen durch zwei DataTables und der Regex- Funktion sehr zeitintensiv und schreit nach Optimierung!

    Leider bin ich mit Dictionary nicht wirklich weitergekommen, da Spalte A d. Exceldatei 1 nicht eindeutig ist.

    Bin für jeden Tipp dankbar! Besten Dank und Gruss! sessai

    Warum nicht per Hashtable / Dictionary ?

    Als Key den inhalt der Spalte A Zellen, als Value ob es on B,C,D von File 2 enthalten ist. Wenn Spalte A doppelte Einträge hat, dann musst du das ja nicht mehr doppelt prüfen.

    Ich würd das in das Dictionary schreiben, und halt per Contains prüfen ob es den Wert schon im Dictionary gibt, damit ich nicht in die Exception renn.

    Ansonsten würd ich eventuell die Daten erstmal sortieren, und z.b. mit Binärer Suche arbeiten, anstatt auf gut Glück durch File 2 zu loopen. Es gibt ja den ein oder anderen Suchalgorhytmus der etwas effektiver ist als bootforce.

    Gruß

    Sven

  15. Datenbank Performance ist eine kleine Wissenschaft für sich.

    Wenn ihr in der Richtung momentan Probleme habt ist es vermutlich nicht sooo dolle den Datenbank Menschen gehen zu lassen.

    Was die Cache Hits angeht, ich bin eher ein MSSQL Mensch, aber ein paar Dinge sind scheinbar halbwegs übertragbar :

    Using SQL Plan Management , im speziellen 15.1.1.2 Manual Plan Loading

    Das grundsätzliche Problem :

    Die Datenbank cached die Execution Pläne, damit die nicht jedesmal neu errechnet werden müssen (kostet CPU). Wenn die Datenbank erkennt :

    "aha, der Filter in der Where Bedingung, ist eine Variabele, da kann ich auch wenn sich der ändert den selben gecacheten Plan benutzen"

    Dann ist das gut, und du hast mehr hits auf deinem Cache. Um da zu begünstigen, schreibt man (sollte man schreiben) Querys in einer parametisierten Form, und verwendet Stored Procedures, so dass das erkannt werden kann.

    Wenn das jetzt eine 3rd Party Application ist, dann kannst du natürlich keinen Einfluss darauf nehmen, wie da Querys erstellt werden, und die das SQL aussieht.

    Ich sprech jetzt ein wenig MSSQL Syntax, aber soweit ich die Oracle Doku überflogen hab, sollte das sich recht analog verhalten.

    Wenn ein Query nicht parameterisiert ist, dann führt das bei komplexen Querys dazu, dass die DB den Plan nicht im Cache finden kann. Du kannst allerdings mit Plan Guides auf das Verhalten einwirken.

    Unter TSQL gibt es dazu noch Query Hints und globale Datenbank settings, mit dehnen eine Parametisierung erzwungen werden kann, das >kann< enorm viel Performance bringen, aber mit sowas muss man äußerste Vorsicht walten lassen, und wissen was man tut.

    Ansonsten ganz allgemein würd ich mir mal die Indizie der Tabellen genau ansehen, fehlen Indize, sind sie Fragmentiert etc etc.

    Uralte Daten in ein Backup rausschreiben und dann vom produktiv System schmeissen, solche Dinge.

    Wenn sehr wenig Write Operationen auf einer Tabelle ausgeführt werden, dann kannst du mit zusätzlichen Indexen eigentlich auch nichts falsch machen.

    Ganz Allgemein würd ich an euerer Stelle aber versuchen eueren Datenbankler zu halten, das ist ein sehr komplexes und weitläufiges Thema

    Gruß

    Sven

  16. das Tool das du suchst nennt sich SQL, das wird von den gängigen Datenbanken auch in den Grundversionen schon nativ unterstützt.

    Ne ernsthaft, unter MSSQL ists das mitgelieferte Managmentstudio. Da schreibste deine Querys, hast auch ne klicky bunty Oberfläche um den größten Teil der konfiguration zu machen.

    aber ähm, "soll (...) damit möglich sein, defekte Datenbanken reparieren", des kannste knicken.

    Allein die Definition wann eine Datenbank "defekt" ist... Das ist nicht Access, da hängt n bisschen mehr dahinter, da gibts keinen Button den ma drücken kann.

    Und das Thema dann noch cross kompatibel ... Blos nicht ! An nen Oracle oder MSSQL Server setzt man keine Werkstudenten, und nen fähiger TSQL Entwickler/Admin, hat erstmal nicht die geringste Ahnung was man bei Oracle an Möglichkeiten und NoGo's hat.

    Zusammengefasst : Das Tool das du suchst läuft idR auf 2 Beinen, sollte recht viel Berufserfahung haben, und ist für gewöhnliche alles andere als billig.

    Gruß

    Sven

  17. Unter der Problembeschreibung kann sich niemand ein Bild davon machen wo das Problem liegt.

    Wie erstellst du das PDF ? Wie öffnest du das PDF ? Wer oder Was fragt dich da ob du speichern willst ?

    Kommentierter Quellcode wäre ganz nett bei sowas.

    Gruß

    Sven

  18. Du könntest dir auch überlegen ein Gewerbe anzumelden, und dir kleinerer Freelancing Projekte zu angeln. Zumindest überlegen würde ich mir das mal, da du da auch wenn du alles und jeden unterbietest deutlich über 10€ die Stunde liegst (netto).

    Du hast natürlich den Papierkram noch dazu, was sich allerdings in Grenzen halten sollte wenn du nicht viel machst.

    Gruß

    Sven

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...