Jump to content

DaPete

Members
  • Gesamte Inhalte

    10
  • Registriert seit

  • Letzter Besuch

Alle erstellten Inhalte von DaPete

  1. Den Cursor nutze ich schon, funktioniert Prima :) Ein bischen stutzig macht mich jetzt eine kleine If Anweisung, im netz habe ich wiedersprüchliche Anweisungen gelesen. Die Prüfung ist relativ simple IF @gn is null update1 else update2 end So funktioniert es halt nicht. IF @gn is null then update1 else update2 end Geht auch nicht. als gegentest habe ich If @gn is null set @gn = 'Test' -> das geht. Wie mache ich das if nun damit das Updatestatement ausgeführt wird? Edit, habs hinbekommen.
  2. Es gibt doch die ObjectClass user, ist diese gleich zu setzen mit User in der AD übersicht? Wir haben doch nämlich noch andere Gruppierungen, z.B. Basa. Gebe ich jedoch Basa statt user ein, bekomme ich keine Daten.
  3. Gut dann muss ich mal so doof fragen, welche IS bzw. wo finde ich diese? Im SQL Server Manager? Gruß
  4. Guten Tag, ich habe gerade ein großes Problem mit einem Access Tabellen Export. Ich nutzen den oben genanntne Assistenten um die Daten in den SQL-Server zu schieben, funktioniert auch zu 90%. Probleme macht ein Feld welches Anlagen speichert (Datentyp Anlage). Die Dateien werden nicht übertragen, auf dem SQL-Server wird das Feld zu einem Varchar8000. Als ich Testweiße in Access per ODBC Export dies gemacht habe, wurde das Feld zu nText und beinhaltet nur die Dateinamen. Kann mir wer helfen? Gibt es im SQL ein feld, welches Anhänge abspeichern kann? Es geht um Etwa 25.000 Datensätze mit Anhängen. Access 2013, Windows Server 2008 R2 SP1 Gruß Pete
  5. Ah, was so ein kleines @ alles ausmacht :) In meiner Ausbildung bin ich sowas, wie oben schon geschrieben immer schleifenmäßig durchgegangen. Das sah im etwa so aus. For r in (select * from tabelle) loop //hier dann zugriff auf die die einzelnen Werte die durchgelaufen werden variable xyz = r.manager end loop wenn ich das richtig gelesen habe, gibt es keine for schleife in MS sql, gibt es sowas ähnliches?
  6. Cool das geht schonmal *freu* Dann steht mir jetzt nur noch eine Frage im weg. Das Feld Manager hat ja mehrere Informationen, das würde ich nur auf den Nachnamen des Vorgesetzten reduzieren. Gedacht waren 2 Variablen für die Start und Endposition. while ..... Startposition = PATINDEX('%=%',manager) laenge = PATINDEX('%\%',manager) lange = laenge - startposition Und dann noch ein update auf die Felder jeweils mit update tabelle set manager = substring (manager,startposition,laenge) end while blub So im etwa die logik, jedoch akzptiert er meine Variablen nie, ich dachte einfach an - declare startpos as varchar(20) - zum beispiel. Wo mache ich da einen fehler?
  7. Halli Hallo, danke schonmal für eure Vorschläge. War gerade mal ein bissl am rumbasteln und ausprobieren um die befehle langsam mal zu können. Habe es auch mal hinbekommen eine Table aus dem AD zu generieren, mit den Feldern die ich möchte. Jedoch gibt es noch folgendes verhalten. Mein "Script" geht so vor, das es erst die Tabelle löscht, dann neu erstellt mit den Daten aus dem AD. Danach werden alle unnützen Zeilen gelöscht (so die Theorie). Tabelle löschen und neu anlegen ist kein Problem. Möchte ich jedoch die Zeilen löschen, zeigt er mir in der Where-clause an, "Ungültiger spaltenname". Hier mal das Script: begin drop table ad_test_cr end begin Select * into ad_test_cr FROM OPENQUERY (ADSI, 'SELECT department,mail,mobile,telephonenumber,givenname,sn,manager,homephone,pager,ipphone,streetaddress,l,st,postalcode,co,physicalDeliveryOfficeName,wwwhomepage,extensionAttribute1,extensionAttribute2,extensionAttribute3,lastlogon,pwdlastset,title,whencreated FROM ''LDAP://srv02........lokal'' WHERE objectCategory = ''Person'' AND objectClass = ''user'' order by sn ') end begin DELETE FROM [master].[dbo].[ad_test_cr] WHERE sn is null or (telephonenumber is null and mobile is null) end Begin und end habe ich zu testzwecken mal eingefügt. Nehme ich das delete raus, funktioniert zwar die whereclause beim filtern, jedoch wird dann ja die tabelle nicht mit frischen Daten befüllt. Kann mir jemand erklären was der unsinn soll?
  8. Ob ich nun leere oder lösche wäre ja erstmal wurscht, sofern ich generell ein Schema entwickel. Direkt aus dem ad via PHP/ASP war auch schon eine überlegung, jedoch bin ich des HTML derzeit nicht mächtig und hab mich bis jetzt auch immer etwas schwer damit getan.
  9. Ja gut, das habe ich auch schon gemacht, ist meiner Meinung nach aber nicht zielführend :)
  10. Guten Tag, ich bin neu und komme direkt mit einem Problem um die ecke :) Zuerst kurz zu mir. Ich bin ein 24 Jähriger Familienvater sowie gelernter Fachinformatiker Anwendungsentwicklung aus dem grünen Herzen deutschlands. Mein Ausbildungsbetrieb hat mich damals auf Oracle SQL spezialisiert. Natürlich bin ich jetzt in einem Unternehmen gelandet, welches keine Oracle Datenbanken zur verfügung stellt. Somit habe ich gerade ein wenig mit MS SQL zu kämpfen und komme nun zu meinem Problem. Im Intranet gibt es eine Mitarbeiterliste mit Namen, email und Telefonnummern. Bis jetzt wurde es vom Sysadmin immer händisch gepflegt (Doppelter-Dreifacher aufwand). Mein Vorschlag war, das einmal am Tag ein Dienst startet, der die Tabelle löscht, auf die das Intranet zugreift und mit Daten aus dem AD neu befüllt (Monatliche sind mehrere zu und Abgänge im Betrieb). Nun habe ich schon folgendes hinbekommen: SELECT * FROM OPENQUERY (ADSI, 'SELECT department,facsimileTelephoneNumber, mail,mobile,telephonenumber,givenname,sn FROM ''LDAP://srv....'' WHERE objectCategory = ''Person'' AND objectClass = ''user'' order by sn ') Hier habe ich meines Wissens nach nur ein reines select aller Daten im AD. Meine Fragen sind nun folgende: 1. Kann man nach Domönenbenutzer noch irgendwie Filtern oder gibt es andere Möglichkeiten zu filten? Denn einfach WHERE objectCategory = ''Person'' AND objectClass = ''user'' and telephonenumber is not null .... -> geht irgendwie nicht (Fehler 7321) 2. Wie mache ich da ein Create table mit, hat das schon mal wer gemacht? Falls etwas unklar ist einfach sagen. Ansonsten danke schonmal für eure Hilfe :)
×
×
  • Neu erstellen...