oh ja, bei sowas bin ich sehr ungeduldig 😃
im setup war 3.5 und ich habe bis einschließlich 4 alles installiert.
habe mal die Visual Studio CD rein gelegt. Der meckerte gleich rum, von wegen Installation fehlerhaft...
Hoffe, dass es daran liegt.
Reparatur ging allerdings auch nicht.
Habe jetzt erstmal eine VMWare mit Windows7 32 bit (statt 64 bit) aufgesetzt. Teste dort grade, ob die installation sauber durchläuft und wenn, dass Projekt dort einfügen kann. Also das Setup Projekt.
Das ist ein Sch... mit sowas musste ich mich bisher noch nie rumärgern, deswegen bin ich auch so ungeduldig 😃
niemand eine Idee?
Hallo Leute,
ich habe einen Windows Dienst geschrieben.
Nun wollte ich diesem ein Setup Projekt hinzufügen. Dies habe ich gemacht wie immer.
Windows-Dienst Installer hinzugefügt.
Konfigurationen für serviceProcessInstaller und serviceInstaller hinzugefügt.
Dann habe ich das Projekt neu erstellt.
Dann habe ich ein Setup Projekt hinzugefügt.
Sage dann "Projektausgabe hinzufügen"
Projekt ausgewählt und Primäre Ausgabe.
Sage ich dann ok, schreibt er mir immer:
"Der Vorgang konnte nicht abgeschlossen werden. Bibliothek nicht registriert."
Um welche Bibliothek handelt es sich?
Oder reicht es wenn ich aus dem Objektkatalog irgendwas bestimmtes hinzufüge?
Habe das schon so häufig gemacht, aber seitdem ich den neuen Rechner mit Visual Studio 2010 habe, bekomme ich diese Meldung.
Ich bin für jeden Tip dankbar. 😃
Gruß Loewchen
Hi,
ist return value immer der rückgabewert, der angibt, ob die Prozedur "ohne" Fehler gelaufen ist, bzw. einen Fehlercode zurück gibt?
Gruß Loewchen
PS.: ist meine erste Prozedur die ich schreibe
Nun bekomme ich schon den Rückgabewert als Varchar, aber ich bekomme außerdem immer noch einen int.
Meine Prozedur sieht nun so aus:
ALTER PROCEDURE [dbo].[TestCase] ( @Text VARCHAR(50), @Laenge INT, @EndErgebnis varchar(50) output)
AS
DECLARE @Zahl INT
DECLARE @Ergebnis VARCHAR(50)
DECLARE @Zeichen VARCHAR(50)
SET @Zahl = 1
SET @Ergebnis = ''
SET @EndErgebnis = ''
SET @Zeichen = ''
WHILE (@Zahl <=@Laenge)
BEGIN
SET @Zeichen = SUBSTRING(@text, @Zahl, 1)
SELECT
@Zeichen = CASE
WHEN @Zeichen = '0' THEN 'null'
WHEN @Zeichen = '1' THEN 'eins'
WHEN @Zeichen = '2' THEN 'zwei'
WHEN @Zeichen = '3' THEN 'drei'
WHEN @Zeichen = '4' THEN 'vier'
WHEN @Zeichen = '5' THEN 'fünf'
WHEN @Zeichen = '6' THEN 'sechs'
WHEN @Zeichen = '7' THEN 'sieben'
WHEN @Zeichen = '8' THEN 'acht'
WHEN @Zeichen = '9' THEN 'neun'
else
'blub'
END
SET @EndErgebnis = @EndErgebnis + '-' + @Zeichen
SET @Zahl = @Zahl + 1
END
wenn ich 173 übergebe, bekomme ich eins-sieben-drei zurück, aber außerdem auch noch die 0.
Was muss ich noch ändern, damit ich die 0 nicht mehr zurück bekomme?
Gruß Loewchen
Hi Leute,
ich habe ein Programm geschrieben, welches auch wunderbar funktioniert. Macht verschiedene Eingaben und Änderungen in einem SQL Server. Des Weiteren habe ich dort einen Trigger und eine Prozedur laufen. So Weit so gut. Das einzige Problem dass ich noch habe ist, dass meine Prozedur einen Fehler schmeißt.
dazu folgendes:
Ich möchte dass meine Prozedur aus der 173 eine eins sieben drei macht.
Also: Prozedur Übergabewert: 173
Rückgabe Wert: eins sieben drei
Doch wenn ich die Prozedur aufrufe dann kommt immer die Fehlermeldung:
Meldung 245, Ebene 16, Status 1, Prozedur TestCase, Zeile 39
Fehler beim Konvertieren des varchar-Werts '-eins-sieben-drei' in den int-Datentyp.
Wie rufe ich die Prozedur auf:
DECLARE @return_value varchar(50)
EXEC @return_value = [dbo].[TestCase]
@Text = N'173',
@Laenge = 3
SELECT 'Return Value' = @return_value
Wie sieht meine Prozedur aus:
CREATE PROCEDURE [dbo].[TestCase] ( @Text VARCHAR(50), @Laenge INT)
AS
DECLARE @EndErgebnis VARCHAR(50)
DECLARE @Zahl INT
DECLARE @Ergebnis VARCHAR(50)
DECLARE @Zeichen VARCHAR(50)
SET @Zahl = 1
SET @Ergebnis = ''
SET @EndErgebnis = ''
SET @Zeichen = ''
WHILE (@Zahl <=@Laenge)
BEGIN
SET @Zeichen = SUBSTRING(@text, @Zahl, 1)
SELECT
@Zeichen = CASE
WHEN @Zeichen = '0' THEN 'null'
WHEN @Zeichen = '1' THEN 'eins'
WHEN @Zeichen = '2' THEN 'zwei'
WHEN @Zeichen = '3' THEN 'drei'
WHEN @Zeichen = '4' THEN 'vier'
WHEN @Zeichen = '5' THEN 'fünf'
WHEN @Zeichen = '6' THEN 'sechs'
WHEN @Zeichen = '7' THEN 'sieben'
WHEN @Zeichen = '8' THEN 'acht'
WHEN @Zeichen = '9' THEN 'neun'
else
'blub'
END
SET @EndErgebnis = @EndErgebnis + '-' + @Zeichen
SET @Zahl = @Zahl + 1
END
RETURN @EndErgebnis
GO
Hi Leute,
ich verwende den SQL Server 2008 und Visual Studio 2008.
Ich habe zwei Fremdprogramme mit einer Datenbank im Hintergrund aus denen ich Daten übernehmen möchte.
Beim schreiben in eine Tabelle kommt die schöne fehlermeldung Binärdaten würden abgeschnitten. Ich habe geguckt, kann aber nicht feststellen, an welchem Datensatz das liegt.
Nun meine Frage:
Gibt es nicht eine Möglichkeit mit einer Option festzusetzen, dass alles was zu lang ist einfach nicht übertragen wird oder hart abgeschnitten wird?
Ich arbeite mit DataSets.
Source und Destination. die Destination schreibe ich dann einfach zurück mit:
DataAdapter.Update(Des);
Vielen Dank für Eure Anregungen.
LG Loewchen.
Lösung gefunden.
Ich habe im SQL Server den anderen als Sysserver hinzugefügt und kann nun mit folgendem Statement arbeiten:
update ADDRESSES
set SYMBOL0 = 'gelöscht'
FROM dbo.ADDRESSES LEFT OUTER JOIN
[olaf].[DBname].dbo.unter_adressen as b ON dbo.ADDRESSES.TEXT13 = b.ansprechpartner_id
WHERE (b.ansprechpartner_id IS NULL) AND (NOT (dbo.ADDRESSES.TEXT18 IS NULL))
Funktioniert einwandfrei.
Auch delete geht so. 😃
Bin also glücklich.
Hi,
ich habe ein Problem mit einem SQL Statement.
Ich habe mir eine Klasse geschrieben mit welcher ich Statements absetze. Alles wunderbar. nun habe ich an einer Stelle ein Problem:
Ich möchte ein Join über zwei tabellen ausführen. Das Statement sieht so aus:
delete from addresses
FROM dbo.ADDRESSES LEFT OUTER JOIN
dbo.cobra_adressen ON dbo.ADDRESSES.TEXT13 = dbo.cobra_adressen.ansprechpartner_id
WHERE (dbo.cobra_adressen.ansprechpartner_id IS NULL) AND (NOT (dbo.ADDRESSES.TEXT18 IS NULL))
nun liegt aber die Tabelle unter_adressen nicht nur in einer anderen Datenbank, sondern auch auf einem anderen Server?
Wie kann ich das Problem lösen?
Kann ich das ändern, indem ich einfach das SQL Statement umschreibe?
Geht das überhaupt über zwei verschiedene Datenbanken?
Wie kann ich das Problem sonst per Quellcode umgehen?
Ich bin für alle Ideen und Ratschläge offen.
Loewchen
Den Tiemout habe ich hochgesetzt. Schmeiße den Profiler gleich mit an, das ist eine gute Idee und dann lass ich das ganze mal unangetastet laufen. Wenn er fertig ist werte ich die Ergebnisse aus. Hoffe das bringt es.
Heißt dass, das SQLLinq nicht zu empfehlen ist für Massentransaktionen?
Meine update Statements beziehen sich lediglich auf Textspalten (varchar(50) (manchmal auch 255)) und es werden aus zwei beteits vorhanden Spalten, ebenfalls varchar, die Texte miteinander verknüpft. Hat was mit der Anzeige in der GUI zu tun. Es fehlt auch kein Index.
@FZelle:
Transaction nicht vergessen? Kannst Du mir mal auf die Sprünge helfen? Weis nicht worauf Du hinaus willst.