Quantcast
Channel: Für Entwickler: SQL Server Forum
Viewing all 1772 articles
Browse latest View live

spezielle SQL Abfrage für SQL-Server-Sicht (View)

$
0
0

Hallo liebe Forum-Mitglieder,

ich bräuchte Daten vom SQL Server mit Hilfe einer View in einer speziellen Darstellungsform und ich habe keine Idee ob sich das mit einer View überhaupt machen lässt. Vielleicht hat hier jemand eine Idee?

Meine Tabelle sieht so aus

Artikelnummer;Artikelname,Mindestbestand;Bestand;Losgröße

12345;Flaschendeckel;600;247;50

Die Abfrage lautet nun, zeige mir alle Artikel deren Bestand < Mindestbestand und stelle mir die Differenz als Produktionsvorschlag vor:

Meine Abfrage in der View stellt mir aktuell die Daten wie folgt dar:

12345;Flaschendeckel;353

Das ist soweit nun auch alles korrekt, doch jetzt kommt die Besonderheit der Losgröße ins Spiel. Da immer nur 50 Stück auf einmal gefertigt werden können benötige ich die Ausgabe der View in mehreren Zeilen mit je 50 Stück, also so:

1=12345;Flaschendeckel;50

2=12345;Flaschendeckel;50

3=12345;Flaschendeckel;50

4=12345;Flaschendeckel;50

5=12345;Flaschendeckel;50

6=12345;Flaschendeckel;50

7=12345;Flaschendeckel;50

8=12345;Flaschendeckel;50

9=12345;Flaschendeckel;50

10=12345;Flaschendeckel;50

Ich denke, dass ich hierzu eine Funktion/Schleife benötige, doch wie kann ich das in einer View machen? Die View benötige ich , da ich diese Daten dann wieder mit einer externen Anwendung mit select * from view abrufen muss.

Viele Grüße

Daniel


Keine Verbindung auf Datenbankserver möglich, Fehler 258

$
0
0

Hallo,

ich habe MS SQL Server 2014 Management Studio (64bit) auf meinem Windows 10 OS im Einsatz. Über eine VPN Verbindung möchte ich mich nun mit einer Datenbank verbinden. Also habe ich bei der Verbindungsherstellung Datenbankmodul und SQL Server-Authentifizierung ausgewählt, wofür ich auch login Daten habe. Die VPN Verbindung läuft über einen Splittunnel, da ansonsten mein gesamter Traffic darüber läuft und das extrem langsam ist, bzw. das Internet auch meistens gar nicht richtig funktioniert.

Ich kann den Server anpingen, jedoch kann ich nicht drauf connecten. Es erscheint jedesmal diese Fehlermeldung:

TITEL: Verbindung mit Server herstellen ------------------------------ Es kann keine Verbindung mit 'xxx.xxx.xxx.xx' hergestellt werden. ------------------------------ ZUSÄTZLICHE INFORMATIONEN: Es konnte eine Verbindung mit dem Server hergestellt werden, doch während des Handshakes

vor der Anmeldung trat ein Fehler auf. (provider: SSL Provider, error: 0 - Der Wartevorgang

wurde abgebrochen.) (Microsoft SQL Server, Fehler: 258) Hilfe erhalten Sie durch Klicken auf: http://go.microsoft.com/fwlink?ProdName=Microsoft%20SQ

L%20Server&EvtSrc=MSSQLServer&EvtID=258&LinkId=20476 ------------------------------ Der Wartevorgang wurde abgebrochen ------------------------------ SCHALTFLÄCHEN: OK ------------------------------




SSRS: Paramter setzt sich bei bestimmtem Wert selbst zurück

$
0
0

Hallo,

ich habe bei einem SSRS-Report folgendes Problem:

Ich habe einen Parameter mit vorgegebenen möglichen Werten. Wenn ich hier einen bestimmten Wert auswähle und auf Bericht anzeigen gehe bricht es die Berichtsausführung sofort wieder ab und der Parameter wird leer angezeigt. Alle anderen möglichen Werte funktionieren. Dabei hat dieser Parameter weder Sonderzeichen, die sonst nirgendwo vorkommen, noch ist er länger als andere Parameter, die funktionieren.

Ich habe jetzt bereits probiert den Parameter auf MultiValue umzuschalten, in der Hoffnung, dass der Fehler hier nicht auftritt, er tritt jedoch trotzdem auf.

Hat von euch jemand eine Idee, woran das liegen könnte?

Mfg

Ed.

Views, die anhängig sind von einer bestimmten Tabelle

$
0
0

Hallo NG,

Ich habe eine bestimmte Tabelle, an der ich Änderungen vornehmen möchte. Die Änderungen könnten Auswirkungen auf alle Views haben, in denen diese Tabelle eingebaut ist.

Meine Frage:

Wie kann ich die DB-Fragen, welche Views von einer bestimmten Tabelle abhängig sind?

Mit freundlichen Grüßen

Dipl. Ing.  Joachim Schmäck


Mit freundlichen Grüßen Dipl. Ing. Joachim Schmäck

SSIS und temporär Tabelle

$
0
0

moin moin SSIS ler :-)

ich hoffe, dass ich hier richtig bin;-)

habe folgende Problem.

In einem MS-SSIS Paket importiere ich aus einem Oracle Datenbank (Quelle) so etwa 70 Mil. Datensätze in einer temporär Tabelle in dem Zieldatenbank (#zielTabelle) (siehe Anhang

MS-SSIS Temporäre Tabelle).

TEMPORÄRE TABELLEN IN SSIS

Nun will ich die Temporäre Tabelle in einem weiteren Datenfluss verwenden und danach löschen. weißt jemand wie das Funktioniert?

Vielen Dank im Voraus

Fehlermeldung bei Zugriff auf FileTable

$
0
0

Mit diesem SQL-Code versuche ich den Dateinamen einer Datei aus einer FileTable anhand der stream_id heruaszufinden:

sqlstr = "SELECT  file_stream.GetFileNamespacePath() AS UNCPathName FROM " & _"DATEISPEICHER WHERE [stream_id]='" & sguid & "'"

    Set db = CurrentDb
    Set GUIDDocu = db.CreateQueryDef("", sqlstr)
    With GUIDDocu
        .SQL = sqlstr
        .ReturnsRecords = True
        Set rst = .OpenRecordset
    End With

Das Ganze geschieht in MS Access.

Ich erhalte aber einen Laufzeitfehler 3078 und die Meldung, die Tabelle "Dateispeicher" (nicht meckern, der gewählte Name war völlig bekloppt) sei nicht vorhanden.

Mit demselben Code im SQL-Manager erhalte ich beim ersten Aufruf eine Fehlermeldung, daß der SQL-Code einen Syntax-Fehler enthalte, danach wird aber dennoch das gewünschte angezeigt.

Beim nächsten AUfruf wird dann ohne Fehlermeldung angezeigt.

Was mache ich da falsch ?

Freigabe für FileTable verschwunden :-(

$
0
0

Nachdem ein anderes Problem mit einer FileTable behoben wurde, taucht jetzt ein neues auf:

Die Freigabe, unter der man sonst per Explorer auf den die FileTable zugreifen konnte ist verschwunden.

AUßerdem taucht die FileTable jetzt nicht mehr unter einem separaten Reiter im Bau des SQL-Servers auf, sondern wie jede andere Tabelle auch als "dbo.DATEISPEICHER".

Unter den EIgenschaften wird aber weiterhin unter "File-Stream Dateigruppe" ein Name genannt. Bei anderen Tabellen steht hier nichts.

Wie kommt sowas?

Bulk Insert bei Zugriff auf Datei auf einem anderen Server schlägt fehl. Betriebssystemfehlercode 5

$
0
0

Hallo zusammen.

Ich möchte über Bulk Insert Daten aus einer Datei in eine Tabelle lesen. Die Datei liegt auf einem Server mit Freigaben. Der SQLServer läuft mit einem eigenen Konto, welches Dom- Adminrechte hat und auf alle Rechner im Netz lese- und Schreibrechte hat.

Der SQL-Serverläuft auf einen anderen Server als die Datei liegt.

Folgendes Szenario

SQL-Server:      Server001

Server mit Datei: Server002

Freigabe: Testdaten

Dateiname: Daten.csv

Der SQL-Befehl kann dann so aussehen

Bulk insert Tabelle from ‚\\Server002\Testdaten\Daten.csv‘ ……

Wenn ich den Befehl auf dem Client, z.b. Client001 ausführe bekomme ich folgende

Fehlermeldung:

Das Massenladen ist nicht möglich, da die Datei '\\SERVER002\Testdaten\Daten.csv' nicht geöffnet werden konnte. Betriebssystemfehlercode 5(failed to retrieve text for this error. Reason: 15105).

Packe ich das Ganze in eine Variable und führe diese mit dem exec (@varaible) as ….

Dasselbe Ergebnis

Packe ich nun das Ganz in einen Task und starte es mit dem Server Agent funktioniert alles fehlerfrei. Auch wenn der Task unter meinem Account ausgeführt wird, also nicht das Konto unter dem der SQL Serverläuft funktioniert alles fehlerfrei.

Es muss also mit dem Client bzw. SQL-Management Studio zu tun haben.

Bitte hier um Hilfe

Danke


SQL-Server Management Studio - Wie Update durchführen?

$
0
0

Hallo,

ich arbeite mit dem SQL Server erst seit kurzer Zeit und ärgere mich regelmäßig darüber, dass er die Credentials für die Anmeldung "vergisst". 

Wenn ich mich anmelde und dabei "Remember password" aktiviere, behält er sie für eine Weile, aber dann fordert er sie wieder an. Das ist deshalb so umständlich, weil das Passwort von meinem IT-Dienstleister vorgegeben wird und so "sicher" ist, dass ich es mir nicht merken kann. :-) So muss ich es also jedesmal wieder nachschlagen.

Wie auch immer, ich vermute, dass dies ein Bug ist und mit einem Update behoben wurde. Davor habe ich mich aber bisher gescheut, weil bei diesen setup.exe-basierten Installationen ja auch viel schiefgehen kann, und da mein Entwicklungssystem beim IT-Dienstleister betrieben wird, kann ich auch nicht mal eben eine Sicherung machen bzw. zurückschreiben.

Daher zum Verständnis folgende Fragen:

  • Wie bringt man das SSMS auf den neuesten Stand (bei mir wird 12.0.2000.8 angezeigt)?
  • Ist das o. g. Problem ein Bug, der mit einem Update behoben wurde?
  • Welches Update genau brauche ich? Ich habe zwar schon eine Quelle bei msdn.microsoft.com gefunden, aber hängt das Update von der installierten Version ab oder kann ich einfach das Neueste nehmen.

Danke für Tipps
Magnus

Bestehender Tabelle Spalte hinzufügen und Werte aus der Bestehenden Tabellen in eine Spalte schreiben

$
0
0

Hallo Zusammen ,

Sry schonmal für meine wahrscheinlich zu leichte Frage, allerdings stehe ich ein bisschen auf dem Schlauch. Ich habe eine Tabelle in der zu jeder Postleitzahl Breitengrade und Laengengrade eingetragen sind.

Wie bekomm ich das jetzt hin diese Tabelle so zu aktualisieren das es nur noch eine Spalte (Koordinaten Geography) gibt die die Werte von Laengengrad und Breitengrad beinhaltet ? 

Danke schonmal im Vorraus


SSIS: Abgleich anhand verschiedener Kriterien

$
0
0

Hallo zusammen,

ich suche eine andere Lösung für einen Abgleich.

Ich bekomme täglich eine Datei, die ich mit bestimmten Daten abgleichen muss, unter anderem eine Blacklist. Mit der Blacklist wird anhand mehrerer Kriterien abgeglichen. Aktuell löse ich es mit mehreren Joins, um Treffer auf der Blacklist zu erhalten, siehe Screenshot. Am Ende wird für diese Datensätze ein Flag gesetzt, dass sie auf der Blacklist stehen.

Da allerdings demnächst noch mehrere Kriterien hinzukommen finde ich es ziemlich unübersichtlich, wenn ich es so mache.

Gibt es evtl. eine andere Möglichkeit?

Vielen Dank und Gruß

Marco



Verbindungen auf Oracle: SSMS/Integration Service Katalog/Ausführen erfolgreich, im SS Agent dagegen failed

$
0
0

Hallo Forum,

Systemumgebung: WIndows Server 2008 R2 Data Center, SQL Server 20014 Developer, MS Visual Studio 2013

1. Ich habe ein SSIS-Package (Projektbereitstellungsmodell) mit einem OLEDB-Quelltask auf eine ORACLE 11g im Dataflow. Der Verbindungsmanager (named: OLEDB_Oracle) nutzt ORACLE Provider for OLE DB, der ORACLE-Server wird über TNSNAMES.ORA angesprochen und dass Passwort wurde auf "Speichern zulassen" (Häckchen) gesetzt (was aber nicht zum Speichern des Passworts führt!). Aufgrund dessen habe ich den Verbindungsmanager auf Projektebene (Project.params) parametrisiert (Name: strOLEDB_Oracle)  und dort den vollständigen Connection string (--> Data Source=<Source>;User ID=<User>;Password=<Password>;Provider=OraOLEDB.Oracle.1;Persist Security Info=True; ) mit Vertraulich = false und Erforderlich = true definiert. Somit sind alle Credentials vorhanden und ich kann mir im MS Visual Studio 2013 auch Daten in der Vorschau ansehen sowie das Package debuggen.

2. Dann rasch das Package in die SSISDB deployed, eine Umgebung "DEV" mit der Variablen  "strOLEDB_Oracle" (Wert = Data Source=<Source>;User ID=<User>;Password=<Password>;Provider=OraOLEDB.Oracle.1;Persist Security Info=True; ) angelegt und das SSIS-Projekt konfiguriert. Umgebungsvariable (2.) = Projektvariable (1.).

Führe ich nun das Package im SSMS über "Package markieren --> rechte Maus = Ausführen" aus, läuft alles erfolgreich.

Binde ich das Package dagegen in einen SS Agent (SSA) Job ein und führe den Job aus, geht bereits die Überprüfung des Packages (also vor dessen eigentlicher Ausführung) fail (Begründung: ORA-12154: TNS: Angebener Connect Identifier konnte nicht aufgelöst werden.). Im Fehlerprotokoll sehe ich, dass das Password nicht im Eigenschaftswert für \Project.Connections[strOLEDB_Oracle] vorhanden ist. Das entspricht der ursprünglichen Config des Verbindungsmanagers, also ohne Parametrisierung (s.o.).

Hat jemand eine Erklärung und eine Idee, wie das behoben werden kann? Verstehe nicht ganz, warum nicht die definierte Umgebungsvariable auch im SSA angezogen wird.

Danke & Gruss

Matt


EXEC() in einer gespeicherten Prozedur

$
0
0

Hallo Zusammen,

ich suche nach eine Lösung wie eine Variable in einer gespeicherten Prozedur gesetzt werden kann.

Anbei einige Versuche von mir. Allerdings ohne Erfolg:

declare @pkMax int

Var.1:     EXEC(' SELECT '+@pkMax+' = MAX(pk) from'+@tempTab1 

Var.2:  SET @pkMax =(EXEC(' SELECT MAX(pk) from '+@tempTab1)  

Meldung 102, Ebene 15, Status 1, Zeile 1
Falsche Syntax in der Nähe von '='.

In beiden Fällen kommt immer eine Fehlermeldung.

Datum anpassen für Max()

$
0
0

Hallo zusammen,

ich lese die Verzeichnisse und LastModifyDate aus von allen Verzeichnisse unter c:\users. Als Ergebnis habe ich pro PC mehrere Einträge, je nachdem ob der PC gerade online war.

Nun mächte ich eine konsolidierte Liste bekommen in der pro PC und Folder nur der jeweils aktuellste Datensatz ausgegeben wird.

Ich schaffe es aber nicht den aktuellsten Datensatz zu bekommen, da das Datum über Max nict korrekt ausgewertet wird.

Hier mal was ich habe:

if object_id('TempDB..#systems_online') is not null
begin
    drop table #systems_online
end

create table #systems_online
(
	SystemName nvarchar(max),
	Folder nvarchar(max),
	LastWriteTime nvarchar(max),
	--LastAccessToSystem nvarchar(max)
	LastAccessToSystem datetime
)

insert into #systems_online
	(SystemName, Folder, LastWriteTime, LastAccessToSystem) Values

	('PC004711','User A','26.09.2013 12:04','25.12.2015 02:00'),
	('PC004711','User B','16.12.2015 05:58','25.12.2015 02:00'),
	('PC004711','User A','26.09.2013 12:04','29.12.2015 21:00'),
	('PC004711','User B','16.12.2015 05:58','29.12.2015 21:00'),
	('PC004711','User A','26.09.2013 12:04','02.01.2016 18:00'),
	('PC004711','User B','16.12.2015 05:58','02.01.2016 18:00'),
	('PC004711','User A','26.09.2013 12:04','04.01.2016 14:30'),
	('PC004711','User B','16.12.2015 05:58','04.01.2016 14:30')


select SystemName, Folder, LastWriteTime, LastAccessToSystem from #systems_online pc
where LastAccessToSystem = (select max(CAST(LastAccessToSystem as datetime)) from #systems_online where SystemName = pc.SystemName)

Könntet Ihr mir hier kurz auf die Sprünge helfen?

Als Ergebnis brauche ich nur die beiden Einträge vom 04.01.2016

Viele Grüsse,
Maximilian

Code First

$
0
0

Hallo,

wenn ich im benutzerdefinierten Code die Funktion First verwende, erhalte ich die Fehlermeldung "Name 'First' is not declared", während ich die Funktion ansonsten im XML jederzeit verwenden kann.

Wie kann ich die Funktion aufrufen?

Gruß, Eckart


Microsoft Server SQL 2012 auf 2008

$
0
0

Gibt es eine Möglichkeit meine Daten aus 2012 in eine Datenbank zu importieren die unter 2008 läuft?

Außerdem möchte ich wissen, ob es Möglich ist mit der 2008er Version eine Verbindung von Excel (Client) auf die SQL-Datenbank (Server) herzustellen.

Vielen Dank für Eure Antworten.

Abfrage Min/Max Wert und zugehöriges Datum

$
0
0

Hallo Forum,

mit der Google Recherche komme ich nicht weiter.

Ich habe folgende Tabelle:    id - dt - Itemname - Value

Gespeichert wird alle Minute ein Wert. Als Wert kann auch die 0 vorkommen .

Als ausgabe möchte ich vom Tag das Min(Value) den Max(Value) mit dem entsprechedem dt Wert haben.

Die Selektion auf tag und ausgabe der min/max Werte bekomm ich hin.

Wie stelle ich es an, das mir auch der entsprechende dt Wert zu dem Min/MAx angezeigt wird?

Gruß

Frank

Tabelle beschädigt - Arythmetischer Überlauf

$
0
0

Hallo Zusammen,

ich kann in einer Tabelle plätzlich keine neuen Datensätze mehr eintragen. Ich bekommen - egal was ich Eintrage - die Fehlermeldung:

Arithmetischer Überlauffehler beim Konvertieren von IDENTITY in den int-Datentyp.

Hat jemand eine Idee was ich tun kann?

Danke und viele Grüße

Patrick

Backup Job lässt sich nicht löschen

$
0
0

Hallo Zusammen,

ich habe auf meinem SQL Server 2005 drei "alte" Backup Jobs die ich gerne löschen würde. Leider funktioniert das nicht. Ich erhalte folgende Fehlermeldung:

An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)

------------------------------

Die DELETE-Anweisung steht in Konflikt mit der REFERENCE-Einschränkung "FK_subplan_job_id". Der Konflikt trat in der "msdb"-Datenbank, Tabelle "dbo.sysmaintplan_subplans", column 'job_id' auf.
Die Anweisung wurde beendet. (Microsoft SQL Server, Fehler: 547)

Auch den zugrundeliegenden Maintenance Plan kann ich nicht löschen. Hier bekomme ich folgende Fehlermeldung:

Exception has been thrown by the target of an invocation. (mscorlib)

------------------------------
ZUSÄTZLICHE INFORMATIONEN:

The connection "Local server connection" is not found. This error is thrown by Connections collection when the specific connection element is not found.
 (DifBackup)

Was kann ich tun?

Vielen Dank für Hilfe.

Grüße

Patrick



Summe von zwei Tabellen mit UNION

$
0
0

Hallo zusammen,

ich möchte eine gesamt Summe von zwei gleichen Tabellen bilden. In jeder Tabelle soll vorerst eine eigene Summe gebildet werden.

Die Abfrage sieht wie folgt aus, ist aber fehlerhaft. Ich währe ihnen sehr dankbar wen sie mir helfen könnten den Fehler zu finden und zu beheben.

SELECT SUM( Gesamtzeit ) FROM
(
 (select SUM(DATEDIFF(second, anfangszeit, endzeit) ) AS Gesamtzeit FROM tabelle1 )

UNION ALL

(select SUM(DATEDIFF(second, anfangszeit, endzeit) ) AS Gesamtzeit FROM Tabelle2)

 ) 

Meldung 102, Ebene 15, Status 1, Zeile 6
Falsche Syntax in der Nähe von  ')'.

Danke für die Hilfe.

Viewing all 1772 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>