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

Erforderliche Tools und Quelle für SSRS 2016 Entwicklung in VS 2015?

$
0
0
Ich nutze bisher VS 2015 Enterprise zur Entwicklung von SSRS Berichtssreverprojekten und Deployment gegen SQL Server 2014 Reporting Services. 

Nun habe ich einen neuen SQL 2016 Reportserver installiert und möchte gerne das gleiche aus meinem Visual Studio heraus machen - idealerweise ohne dass die Kompatibilität zu den Reporting Services 2016 verloren geht.

Was ist dafür notwendig? Welche Toolsets / Paete mssen installiert werden, um dmit VS auch Reports entwickeln zu können, die kompatibel zu SQL SSRS 2016 sind und somit sämtliche Neuerungen nutzen können?



Sortierung der Berichtseiten (Reporting Services)

$
0
0

Hallo in die Runde,

ich habe im Visual Studio einen Bericht mittels Assistenten erstellt und hier bereits relativ umfangreiche Anpassungen vorgenommen.

Nun möchte ich aber gerne die Sortierung der einzelnen Berichtsseiten ändern.

Kann mir jemand sagen an welcher Stelle ich hier im nachhinein Einfluss nehmen kann?

Es geht mir hier um die Seiten-Reihenfolge, nicht die Sortierung in den Tabellen.

Vielen Dank im Voraus

André

Problem mit Lookup auf ein Tabellenfeld vom Typ time(0) (SQL Server 2012, Visual Studio 2012)

$
0
0

Hallo

Ich habe ein Problem in einem SSIS Package

Aus einer Input-Datenquelle erhalte ich einen String mit Zeitangabe.

V_EQUI-TIMBI    DT_WSTR(6)  Bsp: '090904'

In Derived Column habe ich das Feld TIMBI_DT_DBTIME definiert und fülle es mit folgender Expression ab:

(TRIM([V_EQUI-TIMBI]) == "0" || TRIM([V_EQUI-TIMBI]) == "000000" || TRIM([V_EQUI-TIMBI]) == "") ? NULL(DT_DBTIME2,0) : (DT_DBTIME2,0)(SUBSTRING([V_EQUI-TIMBI],1,2) + ":" + SUBSTRING([V_EQUI-TIMBI],3,2) +":" + SUBSTRING([V_EQUI-TIMBI],5,2))

Das Feld TIMBI_DT_DBTIME vom Typ DT_DBTIME2(0) enthält vor dem Lookup folgenden Inhalt: '09:09:04' (Dataview)

Leider ist es nun so, dass der Lookup die Einträge mit dem aufbereiteten Datenfeld nicht findet.
Interessanterweise findet er aber Felder die NULL beinhalten.

Das Datenfeld ist auf der Datenbank mit time(0) definiert.

Für entsprechende Hinweise bin ich sehr dankbar.

Gruss Rene


Auslesen CODE von CLR_SCALAR_FUNCTION?

$
0
0

Hallo,

habe erfolgreich SP's geschrieben zum auslesen und Kopieren über alle DB's innerhalb einer Instanz. Nun möchte ich das auch für UDF's machen, aber wie ich sehe komme ich unter sys.objects nur an die SQL_SCALAR_FUNCTION dran. Ich würde aber auch die CLR_SCALAR_FUNCTION benötigen, denn wir haben so einige Assemblies eingehängt.


Gruß Hipp

Formatierung bei Report/Bericht-Export

$
0
0

Hallo zusammen,

ich erstellte einen Bericht mittels Microsoft SQL Server Report Builder 3.0. Dieser enthält u. a. sowohl Kopf- als auch Fußzeile. Innerhalb der Kopfzeile ist ein Logo enthalten und in der Fußzeile Anschrift, Bankverbindung, etc.

Nun wird dieser Beleg sowohl nach PDF als auch nach Word exportiert.

Leider musste ich feststellen, dass das Renedering-Verhalten bei den unterschiedlichen Export-Formaten variiert.

Der PDF-Export erweitert den Abstand der Kopf- und Fußzeile zum Seitenrand um jeweils 1,5 cm mehr als der Word-Export.

Ich möchte nun ungern ein und denselben Beleg doppelt erstellen und zur Auswahl haben und beim Aufruf bereits entsprechend die Auswahl treffen, ob ich diesen nach Word oder PDF exportieren möchte.

Gibt es eine Möglichkeit das Rendering-Verhalten so einzustellen, dass der Beleg beim Export nach Word so exportiert wird wie auch nach PDF?

Vielen Dank vorab!

SQL Server 2008 R2 Express deinstallieren / neu installieren

$
0
0

Die Setupunterstützungsregelen geben den Fehler:

Überprüft, ob die SQL Server-Registrierungsschlüssel konsistent sind.

Die SQL Server-Registrierungsschlüssel einer früheren Installation können nicht geändert werden. Informieren Sie sich in der Setup-Dokumentation von SQL Server darüber, wie Registrierungsschlüssel korrigiert werden, um den Vorgang fortzusetzen.

Kann  mit jemand helfen?

Gruß

f-k-h

Kalenderwoche anhand bestehendem Datum definieren

$
0
0

Hallo zusammen,

ich habe eine Zeit-Dimension in der Tageswerte stehen. In diese Dimension sollen zum jeweiligen Tageswert (2008-01-01) die zugehörigen Kalenderwochen stehen. 

Ich habe selbst schon eine Abfrage erstellt, jedoch scheint diese nicht zu funktionieren da sie mir für jeden Eintrag KW 53 vergibt.

Vielleicht findet jemand meinen Denkfehler.

Vielen Dank für eure Hilfe

SET NOCOUNT ON;

declare @Start DATE = (SELECT MIN(DTD_DATE) FROM FBDWH_DMA.DTD_DIM_TIME_DAYS);

declare @Ende DATE = (SELECT MAX(DTD_DATE) FROM FBDWH_DMA.DTD_DIM_TIME_DAYS);

declare @KalenderWoche TINYINT;

declare @Tagesdatum date;


  WHILE @START <= @ENDE
  BEGIN



UPDATE   FBDWH_DMA.DTD_DIM_TIME_DAYS
  SET FBDWH_DMA.DTD_DIM_TIME_DAYS.DTD_CALENDER_WEEK =      DATEPART(isowk, @Start);


  SET @Start = (SELECT DATEADD(date, 1, @Start);


end;

DB-Portierung von 2012 nach 2016

$
0
0

Hallo Zudammen,

Ich habe mehrmals versucht, eine DB von einem 2012-Server SP3 nach 2016 via DTS (Server to Server) zu migrieren. (Backup/Restore oder nur anhängen an 2016 geht ja nicht).

Klappt auch, bis auf die Tatsache, dass weder Timestamps, Indexe und Relationen mitübertragen werden. Versuche ich dann in der neuen DB z.B. Indexe zu ändern, kommt die Meldung, dass die Tabelle gelöscht werden muss bzw. das Feld so nicht änderbar ist.

Äusserst unschön...was mache ich falsch?

Gruss und Danke

Peter


Verbindungsserver auf sich selbst scheint nicht zu funktionieren

$
0
0

Ich verwende einen Verbindungsserver, um Joins über zwei SQL Server aufzubauen. Für die Abfrage melde ich mich am Server A als Benutzer 1 mit Rechten auf die Datenbank X an. Als Verbindungsserver hat dieser SQL Server einen Eintrag zu Server B mit Benutzer 2/Passwort 2. Der Benutzer 2 hat auf Server B Rechte auf die Datenbank Y. Mit diesem Konstrukt kann ich erfolgreich gejointe Abfragen durchführen.

Nun habe ich die Situation, dass ein Kunde beide Datenbanken X und Y auf dem Server A hat. Der Benutzer 1 hat ebenfalls nur Rechte auf Datenbank X und Benutzer 2 nur auf Datenbank Y. Wenn ich nun einen Join zwischen Tabellen aus Datenbank X und Y erstelle, funktioniert dies weder mit Benutzer 1 noch mit Benutzer 2, was ja auch so gewollt ist.

Der Versuch auch hier einen Verbindungsserver zu definieren, scheint zunächst zu funktionieren, endet aber in der Fehlermeldung: Der Serverprinzipal 'Benutzer 1' kann unter dem aktuellen Sicherheitskontext nicht auf die Datenbank Y-Datenbank zugreifen.

Es scheint also so zu sein, dass bei diesem Szenario der Verbindungsserver (bzw. die Benutzereinstellungen) ignoriert werden.

Gibt es dennoch eine Möglichkeit ohne Änderungen der Rechte der Benutzer hier zum Ziel zu kommen?

TIA Stephan Frigge

P.S.: Probiert habe ich das beschriebene Verhalten in der Version 2008 R2

VB.net keine Fehlermeldung beim Öffnen einer bereits geöffneten Excel Datei

$
0
0

Hallo,

ich habe ein VB.net Script in einem SSIS Paket, mit dem ich eine Excel Datei aktualisieren will.

Leider bekomme ich keine (Fehler) Meldung, wenn diese Datei bereits geöffnet ist und ich sie eigentlich nicht bearbeiten kann. Beim manuellen Öffnen bekomme ich diese Meldung ja.

Public Sub Main() Dim oldCI As System.Globalization.CultureInfo = System.Threading.Thread.CurrentThread.CurrentCulture System.Threading.Thread.CurrentThread.CurrentCulture = New System.Globalization.CultureInfo("en-US") Dim oExcel As Excel.ApplicationClass = Nothing Dim oBook As Excel.WorkbookClass = Nothing Dim oBooks As Excel.Workbooks = Nothing Dim numFiles As Integer Dim i As Integer Dim fileList As String Dim fileName As String = "" Dim filePath As String Dim notUpdated As String = "" Dim fileIsWriteProtect As Boolean Try oExcel = New Microsoft.Office.Interop.Excel.ApplicationClass oExcel.Visible = False oExcel.Interactive = False oExcel.ScreenUpdating = False oExcel.DisplayAlerts = False oExcel.EnableEvents = False oBooks = oExcel.Workbooks filePath = Trim(Dts.Variables("StrFilePath").Value.ToString()) If Right(filePath, 1) <> "\" Then filePath = filePath & "\" End If fileList = Trim(Dts.Variables("StrFileList").Value.ToString()) fileList = RTrim(fileList) If Right(fileList, 1) <> ";" Then fileList = fileList & ";" End If fileList = Replace(fileList, ";;", ";") numFiles = Len(fileList) - Len(Replace(fileList, ";", "")) For i = 1 To numFiles If InStr(fileList, ";") > 0 Then fileName = Left(fileList, InStr(fileList, ";") - 1) fileList = Trim(Mid(fileList, InStr(fileList, ";") + 1))
'Start Excel and open workbook If CheckFile(filePath & fileName) = True Then
'CheckFile prüft ob die Datei vorhanden ist

fileIsWriteProtect = GetAttribute(filePath & fileName, FileAttribute.ReadOnly)
'GetAttribute prüft ob duie Datei schreibgeschützt ist

If fileIsWriteProtect = True Then RemoveAttribute(filePath & fileName, FileAttributes.ReadOnly)
'Remove Attribute entfernt den Schreibschutz End If oBook = DirectCast(oBooks.Open(filePath & fileName), Microsoft.Office.Interop.Excel.WorkbookClass) oBook.RefreshAll()
oBook.Save() oBook.Close() If fileIsWriteProtect = True Then SetAttribute(filePath & fileName, FileAttributes.ReadOnly)
'SetAttribute setzt den Schreibschutz zurück End If Else notUpdated = notUpdated & Chr(13) & Chr(10) & fileName & ";" End If End If ' Clean-up: Close workbook and quit Excel. 'End If Next oExcel.Quit() Dts.TaskResult = ScriptResults.Success Dts.Variables("notUpdated").Value = notUpdated Catch ex As Exception Dts.Variables("notUpdated").Value = ex.Message Dts.TaskResult = ScriptResults.Failure Dts.TaskResult = ScriptResults.Success Finally If oBook IsNot Nothing Then System.Runtime.InteropServices.Marshal.ReleaseComObject(oBook) If oBooks IsNot Nothing Then System.Runtime.InteropServices.Marshal.ReleaseComObject(oBooks) If oExcel IsNot Nothing Then System.Runtime.InteropServices.Marshal.ReleaseComObject(oExcel) oBook = Nothing oBooks = Nothing oExcel = Nothing End Try End Sub

    Public Sub RemoveAttribute(ByVal FileName As String, ByVal Remove As FileAttributes)
        Dim Attr As FileAttributes
        Attr = File.GetAttributes(FileName)
        File.SetAttributes(FileName, Attr And Not Remove)
    End Sub

    Public Sub SetAttribute(ByVal FileName As String, ByVal sAttr As FileAttributes)
        Dim Attr As FileAttributes
        Attr = File.GetAttributes(FileName)
        File.SetAttributes(FileName, Attr Xor sAttr)
    End Sub

    Public Function GetAttribute(ByVal FileName As String, ByVal fileAttr As Integer) As Boolean
        Dim Attr As FileAttributes
        Attr = File.GetAttributes(FileName)
        If fileAttr = (Attr And fileAttr) Then
            GetAttribute = True
        Else
            GetAttribute = False
        End If

    End Function

Hat jemand eine Idee, wie ich heraus bekommen kann, ob die Datei bereits geöffnet ist?
So wie ich es bisher mache scheint es ja nicht der richtige Weg zu sein.

Gruß

cheapy

SQL Server 2016, Meldung 33294, sp_refresh_parameter_encryption

$
0
0

Hallo,

Ich habe in unserem Testsystem eine SQL Server Instanz auf 2016 aktualisiert. Seither kommt mir, scheinbar zufällig, folgende Fehlermeldung bei unterschiedlichen Statements/Stored Procedures:

Meldung 33294, Ebene 16, Status 3, Zeile 551

Einige Parameter oder Spalten des Batches müssen verschlüsselt werden, aber der entsprechende Spaltenverschlüsselungsschlüssel konnte nicht geladen werden. Verwenden Sie "sp_refresh_parameter_encryption", um die Metadaten der zugehörigen Parameter zu aktualisieren.

Die Suchmaschinen liefern zu diesem Problem leider nur 3 Einträge, jedoch keine Lösung. Zur SP sp_refresh_parameter_encryption finde ich leider auch keine Dokumentation. Habe auch schon versucht einen Verschlüsselungsschlüssel für die DB einzurichten, jedoch kommt immer die Meldung, dass das für die verwendete SQL Server Version (2016 Standard) nicht möglich ist.

Weiß jemand was ich tun muss?

LG

Zwei Zeilen innerhalb eines Tablix zusammenhängend ausgeben

$
0
0

Hallo zusammen,

ich bin im Bereich des SQL Server Report Builder noch nicht so vertraut.

Ich habe einen Bericht, welcher mittels Microsoft SQL Server 2012 Report Builder 3.0 erstellt und bearbeitet wird.

Im Bericht enthalten ein Textkörper, welcher in ListContents unterteilt ist. Die darin enthaltenen Zeilen zeigen mir mittels Rechtsklick Tablix-Eigenschaften an.

Ich möchte nun zwei dieser Zeilen zusammenhängend ausgeben. D. h. aktuell wird z. B. Zeile 20 auf Seite 2 ausgegeben, Zeile 21 auf Seite 3. Ich möchte nun jedoch, dass diese beiden Zeilen nicht getrennt, sondern auf einer Seite ausgegeben werden.

Wie stelle ich dies am besten an?

Vielen Dank vorab!

Ausländische Sonderzeichen über ähnlichen deutschen Buchstaben finden

$
0
0

Hallo,

wir speichern in einem NULLABLE NVARCHAR(100) Feld Namen ab. Die Datenbank hat die Collation Latin1_General_CI_AS. Dies können auch französische und türkische Namen mit den entsprechenden Sonderzeichen sein.

Meine Frage ist, ob es möglich ist, diese Sonderzeichen zu finden, wenn der Anwender einen ähnlichen deutschen Buchstaben eingibt, also z.B den den Namen "Çinar" durch Eingabe von "Cinar"?

Ist dies (nur) mit der Volltextsuche möglich?

ntwdblib.dll & SQL Server 2016

$
0
0

Hallo zusammen

Wir verwenden alte C++ Anwendungen welche mit der ntwdblib.dll auf unseren SQL Server 2016 zugreifen.

Bis und mit dem SQL Server 2014 hat das wunderbar geklappt. Mit dem SQL Server 2016 aber crashed die ganze Sache.

Folgende Angaben haben wir dann jeweils im Log des Clients, die C++ Anwendung ist die IV.EXE.

Faulting application name: IV.EXE, version: 3.9.3.0, time stamp: 0x57612859
Faulting module name: ntwdblib.dll, version: 2000.80.194.0, time stamp: 0x398d26dd
Exception code: 0xc0000005
Fault offset: 0x0001f15a
Faulting process ID: 0x323c
Faulting application start time: 0x01d1ff953a5ed046
Faulting application path: O:\RUN\IV\IV.EXE
Faulting module path: C:\WINDOWS\SYSTEM32\ntwdblib.dll
Report ID: 46f7eeb5-e673-49dc-872a-b4daa79d9272
Faulting package full name: 

Kann mir hier jemand ein Tipp geben?

Herzlichen Dank für jede Hilfe.

Martin

t-sql Intersect SQL Server 2012

$
0
0

Hallo Forumsmitglieder.

Select 2 intersect Select 2 bringt  als Ergebnismenge 2

select 1,2,3,4,8,9 intersect select 1,2,3,4,6,7  hat eine leere Ergebnismenge

Ich dachte Intersect würde mir die Schnittmenge als Ergebnis zurückgeben. Also 1,2,3,4.

Verstehe ich hier etwas nicht richtig?

 Grüsse

St.Erver

PS:

select 1,2,3,4,8,9 intersect select 1,2,3,4,8,9

liefert korrekt: 1,2,3,4,8,9  als Ergebnismenge

 

 


Abfrage auf eine Sicht mit verschiedenen Kriterien

$
0
0

Hallo Zusammen,

ich stehe vor einer kniffligen Herausforderung und brauche Unterstützung.

Ausgangslage Sicht über 3 Tabellen erstellt:

SELECT        TOP (100) PERCENT dbo.KHKArtikel.Artikelnummer, dbo.KHKArtikel.Bezeichnung1, dbo.KHKArtikel.USER_alteartikelnummer, dbo.KHKPreislistenArtikel.AbMenge, dbo.KHKPreislistenArtikel.Einzelpreis,
                         dbo.KHKPreislistenArtikel.ListeID, dbo.KHKPreislisten.Bezeichnung, dbo.KHKArtikel.Aktiv
FROM            dbo.KHKArtikel INNER JOIN
                         dbo.KHKPreislistenArtikel ON dbo.KHKArtikel.Mandant = dbo.KHKPreislistenArtikel.Mandant AND dbo.KHKArtikel.Artikelnummer = dbo.KHKPreislistenArtikel.Artikelnummer INNER JOIN
                         dbo.KHKPreislisten ON dbo.KHKPreislistenArtikel.Mandant = dbo.KHKPreislisten.Mandant AND dbo.KHKPreislistenArtikel.ListeID = dbo.KHKPreislisten.ID
ORDER BY dbo.KHKArtikel.Artikelnummer

Die Abfrage hierzu lautet:

SELECT distinct Einzelpreis as EP,Artikelnummer,Bezeichnung1,USER_alteartikelnummer,AbMenge,ListeID,Bezeichnung,Aktiv,
  Case when AbMenge='0.00'then'1'Else AbMenge End AS Menge
  FROM dbo.vwASArtikelpreisliste
  WHERE(Aktiv=-1 and ListeID=5)
  order by Artikelnummer

Das Ergebnis so:

EP	Artikelnummer	Bezeichnung1	USER_alteartikelnummer	AbMenge	ListeID	Bezeichnung	Aktiv	Menge
0,85	00006	Keramik Schaf, 11x6cm, 2-fach sort.	H571	100,00	5	NEUE_LISTE_HTK	-1	100,00
0,95	00006	Keramik Schaf, 11x6cm, 2-fach sort.	H571	48,00	5	NEUE_LISTE_HTK	-1	48,00
1,05	00006	Keramik Schaf, 11x6cm, 2-fach sort.	H571	16,00	5	NEUE_LISTE_HTK	-1	16,00
1,20	00006	Keramik Schaf, 11x6cm, 2-fach sort.	H571	0,00	5	NEUE_LISTE_HTK	-1	1,00
1,20	00006	Keramik Schaf, 11x6cm, 2-fach sort.	H571	4,00	5	NEUE_LISTE_HTK	-1	4,00
1,65	00007	Keramik Schaf, 16x9cm	H572	108,00	5	NEUE_LISTE_HTK	-1	108,00
1,85	00007	Keramik Schaf, 16x9cm	H572	36,00	5	NEUE_LISTE_HTK	-1	36,00
1,99	00007	Keramik Schaf, 16x9cm	H572	12,00	5	NEUE_LISTE_HTK	-1	12,00
2,25	00007	Keramik Schaf, 16x9cm	H572	0,00	5	NEUE_LISTE_HTK	-1	1,00
2,25	00007	Keramik Schaf, 16x9cm	H572	2,00	5	NEUE_LISTE_HTK	-1	2,00
1,75	00009	Taschenschirm L: 24cm ø92cm, 3-fach sort.	H580	180,00	5	NEUE_LISTE_HTK	-1	180,00
1,95	00009	Taschenschirm L: 24cm ø92cm, 3-fach sort.	H580	60,00	5	NEUE_LISTE_HTK	-1	60,00
2,35	00009	Taschenschirm L: 24cm ø92cm, 3-fach sort.	H580	0,00	5	NEUE_LISTE_HTK	-1	1,00
2,35	00009	Taschenschirm L: 24cm ø92cm, 3-fach sort.	H580	12,00	5	NEUE_LISTE_HTK	-1	12,00

Mein Problem:

Ich möchte nicht die Zeilen sehen, wo "AbMenge" 0,00 ein Wert vorhanden ist, der bei gleicher Artikelnummer auch noch woanders steht. Beispiel Artikelnummer 00006, 1,20 bei AbMenge 0,00 und AbMenge 4,00. Wenn jedoch bei Menge 0,00 ein Wert drinnen ist, der sonst nirgens unter der selben Artikelnummer zu finden ist, dann soll die Zeile angezeigt werden.

Kann mir dabei bitte jemand helfen?

Dankeschön.

Datei innerhalb eines Filetable-Verzeichnisbaums verschieben ....

$
0
0

ALTER PROCEDURE [dbo].[DokumentErfassen]
    -- Add the parameters for the stored procedure here
    @Auftrag int = 0,    -- Verweis auf den Auftrag
    @Dateiname nvarchar(255) ,    -- der Dateinmae, der später im FileTable verwendet wird
    @SourceFileAndPath nvarchar(255),    -- Pfad zur Quelldatei
    @Dokumententyp int,
    @subject nvarchar(255)    =N'--- DEFAULT ---',     --Ein Freitext, der die Datei beschreibt,
    @delete_source_file bit=0



AS
BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;


    DECLARE @SQL nvarchar(MAX);
    DECLARE @streamid uniqueidentifier     -- hier wird die streaiming-ID zurückgegeben
    DECLARE @filetable_destname nvarchar(MAX); -- der neue Dateiname ...
    DECLARE @is_Rechnung bit;
    DECLARE @is_Gutachtendatei bit;
Der Titel ist sicherlich nicht sonderlich gelungen. Daher zunächst mal die Problembeschreibung.

Meine Datenbank enthält eine FileTable namens DATEISPEICHER.

Die ursprüngliche Variante meines Codes nimmt (gescannte) PDFs aus einem Verzeichnis und kopiert diese mit untenstehendem Code in die Filetable mit untenstehendem Code (Fragmente). Der Code ist so in etwa an vielen STellen im Netz zu finden.

Es handelt sich um gescannte medizinische Befunde, die einem Fall zugeordnet werden sollen.

Jüngst wurde der Scanvorgang um einen Durchlauf für Texterkennung ergänzt. Die PDFs sind also jetzt nach Texten durchsuchbar. Was also liegt näher als die PDFs in einem Unterverzeichnis des Filetable abzulegen damit es dort volltext-indiziert wird ? Das geht auch ganz gut.

Die zum Filetable gehörige Freigabe enthält also ein Unterverzeichnis namens inbox. Dort werden die PDFs vom Scanner hinkopiert.

Ich versuche jetzt mit dem ursprünglichen Code die Quelldatei zu öffnen und als neuen Datensatz in die Filetable zu kopieren. Faktisch muss die Datei dabei nur verschoben werden.

Leider kommt es zu einer Fehlermeldung.

[Microsoft][SQL Server Native Client 11.0][SQL Server]Das Massenladen ist nicht möglich, da die Datei '\\Galileo2010\mssqlserver\FileTable\DATEISPEICHER\inbox\18319_j1.pdf' nicht geöffnet werden konnte. Betriebssystemfehlercode 50(Die Anforderung wird nicht unterstützt.).

Was auch immer das heisst!

Hat jemand eine Idee?


    BEGIN TRY
        BEGIN TRANSACTION Erfassung;
            -- als erstes den SQL-String zusammenbauen
            SET @SQL='INSERT INTO dbo.DATEISPEICHER (name, file_stream)
                        (SELECT '''+@Dateiname + ''', * FROM OPENROWSET(BULK N'''+@SourceFileAndPath +''', SINGLE_BLOB) AS FileData)';

            -- jetzt den gerade generierten T-SQL-Code ausführen
            EXEC sp_executesql @SQL;

            -- Die stream_id ermitteln
            SET @streamid=(SELECT dbo.DATEISPEICHER.stream_id from dbo.DATEISPEICHER WHERE name=@Dateiname) ;


  UPDATE: Könnte ich beispielsweise einfach in dem Datensatz der QUelldatei (in der inbox) den path-locator auf den rootpath ändern - und voila die Datei (oder vielmehr der Eintrag erscheint woanders?              

Noch ein Problem mit Filetables: WORD-Dateien

$
0
0

Mit PDF-Dateien im Filetable als datensatzbezogenes ARchiv komme ich ganz gut zurecht.

Anders mit WORD-Dateien: Anscheinend legt Word beim Öffnen einer Datei gleich eine neue an und löscht dann die alte.

dIes führt mutmaßlich zu einer neuen stream_id und somit ist der Bezug zu einem Datensatz verloren. Wie kann man dies umgehen? aka wie bekomme ich den neuen stream_id um ihn wieder im zugehörigen Datensatz zu speichern.

SQL-Server 2014 mit statischer IP-Adresse?

$
0
0

Hallo zusammen,

ich habe aktuell ein Problem mit einem SQL-Server 2014 Standard. Der SQL-Server soll in einem autarken Netzwerk hinter einer Firewall laufen. Für die Firewall benötigt der PC eine statische IP-Adresse. Nun ist es so, wenn ich eine statische IP vergebe ist der SQL-Server nicht mehr im Netzwerk verfügbar und das auch ohne Firewall, der PC an sich ist verfügbar/pingbar.

Zum Testen habe ich den PC an unser herkömmliches Netzwerk angeschlossen, also ohne Firewall, auch die Windows Firewall ist deaktiviert.

Sobald die IP-Adresse automatisch bezogen wird ist der SQL-Server wieder verfügbar.

Wie muss ich den SQL-Server für eine statische IP konfigurieren?

Über eure Unterstützung würde ich mich sehr freuen!

Gruß
Christoph

Data SYnc Agent Installation

$
0
0

Hallo,

auf einem Windows Server 2012 R2 (Core) läuft ein SQL Server 2014 mit eine bestimmten Datenbank.
Ich verwalte diesen SQL Server mit dem SQL Server Management Studio von einem PC mit Windows 10.
Eine strukturgleiche DB läuft unter meinem Azure-Konto.
Nun versuche ich diese beiden DBs zu synchroniosieren.
Dazu habe ich versucht, den SQL Data Sync Agent zu installieren.
Dieser verweigert die Instaallation und mahnt als Voraussetzung
- Microsoft CLR Types for Microsoft SQL Server 2012 (x86) und
- Microsoft SQL Server 2012 Shared Management Objects (x86) an,
jeweils versehen mit Links zum Download der Komponenten.
Beim Versuch, diese Komponenten auf dem Windows 10-PC zu installieren,
erscheint beide Male der Hinweis,
es liege bereits eine höhere Version vor und man möge diese doch zuvor deinstallieren.
Tatsächlich finde ich Microsoft-System-CLR-Typen für SQL Server 3-mal vor und zwar
- SQL Server 2012
- SQL Server 2012 (x64) und
- SQL Server 2014.
Die Version 2012 (x86) ist also offenbar bereits da.
Zu Microsoft Management Objects sind diverse Installationseinträge zu finden
aber keine Shared Management Object.
Wieso also funktioniert die Insatllation nicht und liefert solche irritierenden Meldungen?


Grüße aus Köln am Rhein - Klaus Trapp

Viewing all 1772 articles
Browse latest View live


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