Laden...

Forenbeiträge von Ristor Ingesamt 24 Beiträge

05.03.2014 - 11:08 Uhr

Danke Herbivore das hilft mir mal weiter ich versuch das mal so umzusetzen.

Vielen Dank an alle.

Falls ich Probleme habe melde ich mich nochmals 😛

04.03.2014 - 16:59 Uhr

Vereinfacht sieht das ganze so aus.
Wobei der Controller die Services über Schnittellen kennt.

04.03.2014 - 16:34 Uhr

Hi,

hmm es handelt sich beim DBObject um Settings z.b. für (TcpClient , Managed .net Scanner, TextFile etc...)

Was ich eigentlich will ist wenn der AdminService z.b. IpAdresse ändert. Dann sollen die Services die den entrechenden Typ verwenden die neue Ip verwenden und nicht mehr die "alte".
Wenn es sich hierbei nicht um das gleiche Object handelt muss ich jedem Service das neue Object mit der neuen IP bekanntmachen und das alte verwerfen.

Somit müsste ich das ExDbObject zerstören 😃 und dafür ein neues ExDbobject aus den DbObject erstellen.

Ist das so wirklich besser?

Vielen Dank für eure mithilfe 😃

Grüßle...

04.03.2014 - 15:47 Uhr

Hallo,

nein ich möchte nicht in der Datenabstraktionsschicht auf die ExDbObject eigenschaften zugreifen sondern möchte ich erreichen wenn Serivce X am DBObject was ändert das Service Y diese Änderung mitbekommt. Den es bekommen ja beide Services dasselbe DBObject.

Evtl. verfolge ich ja einen Total falschen Ansatz...

Gruß,
Roland

04.03.2014 - 15:08 Uhr

Hallo,

ich habe folgende Frage:

Ein Programm liest Daten aus einer Datenbank aus und erstelle daraus ein objekt -> zb. DBObject

Diese Daten werden an einen Service weitergegeben. Dieser Service benötigt an diesem Objekt weitere Eigenschaften. z.b. ExDbObject

Gibt es eine möglich aus dem DBObject ein ExDbObject zu erstellen ohne das der DBReader dieses ExDbObject kennt?
Aber diese wiederum als DBObject weiterhin verarbeiten kann?

d.h. DbReader -> DBObject -> Service -> ExDbObject -> DbReader -> DBObject

Ich hoffe ich habe mich einigermaßen klar ausgedrückt 😄

Grüßle...

10.12.2013 - 09:29 Uhr

Perfekt Danke dir 😃

edit: das dbo. muss noch entfernt werden

09.12.2013 - 16:36 Uhr

Hi Lennart,

vielen Dank für den Link.

Ich habs wie folgt hinbekommen 😄
Ob es Produktiv passt wird sich Zeigen 😉..
Auf Performance kommt es Gott sei Dank nicht an.

Gruß
Ristor


USE [xxx]
GO
/****** Object:  Trigger [dbo].[xxx]    Script Date: 09.12.2013 16:22:54 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[xxx] 
   ON  [xxx].[dbo].[xxx]
   AFTER INSERT
AS 


BEGIN
SET NOCOUNT ON;

DECLARE @TableName nvarchar(500)
Set @TableName='xxx'



DECLARE @ColumnName nvarchar(500)
DECLARE @value nvarchar(500)
DECLARE @Sql nvarchar(500)
DECLARE @PData nvarchar(500)
Set @PData = ' '

Set @TableName='xxx'

DECLARE ColumnsCursor CURSOR FOR
select column_name FROM INFORMATION_SCHEMA.columns WHERE TABLE_NAME = @TableName

OPEN ColumnsCursor
FETCH NEXT FROM ColumnsCursor into @ColumnName

WHILE @@FETCH_STATUS=0
BEGIN 

      select * into #tmp from  inserted
      Set @Sql= ' 	SET NOCOUNT ON; SELECT @value =' + @ColumnName + ' FROM #tmp'

      EXEC sp_executesql @Sql, N'@Value nvarchar(500) OUTPUT', @Value OUTPUT


      DROP TABLE #TMP

	  Set @PData = @PData + '#Value#' +@ColumnName
	  set @PData = @PData + '#Column#' + @Value
      FETCH NEXT FROM ColumnsCursor into @ColumnName
END   

CLOSE ColumnsCursor
DEALLOCATE ColumnsCursor

declare @cmd varchar(8000)
set @cmd = 'c:\xxx\test.bat '  +  @PData

Exec master..xp_cmdshell @cmd , NO_OUTPUT

END

09.12.2013 - 14:39 Uhr

Hi,

also ich kenne die Spalten nicht direkt...
Es ist so das die x00 Maschinen, auf 3 Kontinente verteilt sind.
Falls irgend ein Hersteller Spalten hinzufügt etc. müsste ich jedesmal den
Trigger anfassen, das wollte ich vermeiden indem ich den Trigger
"universell" gestalte.

Eine andere Möglichkeit wäre, das der Trigger einen Webservice anspricht.

Aber SQL -> Webservice ich weiss nicht geht das gut? 😛
Oder doch lieber die schusterei... 😄

09.12.2013 - 13:38 Uhr

Hallo Zusammen,

ich muss einem externen Konsolenprogramm aus einem Datenbanktrigger einen CSV string übergeben.

Nun muss ich irgend einen weg finden wie ich die inserted row zu einem CSV-String konvertiere.

Die Daten stammen aus verschiedenen Produktionsanlagen verschiedener Hersteller und Produkten deshalb werde ich nie wissen wie viele Spalten es sind. (Auch die Namen kenne ich nicht)

Die Daten könnten wie folg aussehen:

spalte1 spalte2 spalte3 etc.
123 55 88 .....

und ich bräuchte -> 123;55;88

Kann mir jemand einen Denkanstoß geben bzw ein schönen link 😃

Gruß,
Ristor

06.04.2011 - 13:57 Uhr

Hi,

mittlerweile sind die Probleme wie von Geisterhand weg.

Deshalb /close pls

Grüße,
Ristor

29.03.2011 - 09:10 Uhr

verwendetes Datenbanksystem: SQLServer 2008 - STD

Hallo,

ich habe folgendes Problem.

Ich habe in unserer Firma eine kleine Client-Server Anwendung geschrieben. Diese Erfasst Produktivitäts - Daten unserer Mitarbeiter und wertet diese aus.

Jetzt habe ich so ca. alle 2 Tage das Problem das das Speichern der Eingabe ca 30 sek oder länger dauert.
Das Problem liegt nicht an meinem Server da wenn ich ihn auf meinem Pc öffne habe ich das gleich Problem.

Ich kann das Problem beheben indem ich auf dem SQL - Server folgende abfrage ausführe.

DBCC FREESYSTEMCACHE ('ALL')
DBCC FREEPROCCACHE

Dann geht wieder alles normal und wird innerhalb 1 sek gespeichert.

Ich habe jetzt schon lange gegoogelt aber hab nichts gefunden was mir weiterhilft...

Liegt es evtl an meinen Abfragen sind die vermurkst?^^

Ich hoffe jemand hat ne Idee was ich veruschen könnte.

Edit: Was noch interresant ist das Auswertungen nach wievor flott aus der Datenbank kommen nur wenn einen Neuen Datensatz Speichere hab ich dieses Problem.

Grüße,
Ristor

26.03.2011 - 14:41 Uhr

Hi Kraeppy,

schreib ne searilisierbare klasse und schreibe diese in ein Byte array und schon kannst du fast alle informationen die du benötigst übertragen.

Wie du dir des leben noch einfacher machen kannst schau dir mal .net Remoting an. Die snippets von Rainbird sind da sehr informativ.

z.b. Zyan Framework

oder wenn du das alles wirklich von hand machen willst
BinaryStream aus String erstellen

p.s. keine Garantie 😄 bin noch bissl angetruken und leertaste is put xD

Grüße
Ristor

04.10.2010 - 12:07 Uhr

Hi Ihr 😃,

ich sitze hier schon seit ein paar Stunden auf dem Schlauch.
Ich teste gerade Crystal Reports und versuche ein paar Reports aus unserer MS-Access Datenbank herauszubekommen nun benötige ich folgendes.

Meine Datenbank sieht folgendermaßen aus

MAterialnummer
KundenNummer
Lieferpriorität

so nun muss ich folgendes Filtern Sobald eine Materialnummer mehrfach vorkommt muss ich den Datensatz mit der höchsten Lieferpriorität nehmen.

Ist warscheinlich nur eine Kleinigkeit aber ich komme einfach nicht darauf... 😃
Evtl. würde mir auch eine passende SQL - Abfrage weiterhelfen.

Hat jemand ein Lösungsansatz für mich?? 😃

Ich Danke euch schoneinmal im vorraus.

Gruß,
Ristor

24.09.2010 - 08:08 Uhr

Hi Ayra,

ich habe dein Mediaplayer getestet

Host: Win7
Client: XP

und bei mir hat alles einmampfrei 😃 funktioniert ...

Update evtl. mal deinen Netzwerkkarten treiber hatte mal so ein ähnliches Problem mit einer Karte.

btw. witzige Idee mit dem Terminal Player 😄

Gruß,
Ristor

13.09.2010 - 07:44 Uhr

Hi,

ohne etwas getestet zu haben aber benutzt das Webbrowsercontrol nicht die einstellungen vom IE??

Gruß
Ristor

18.03.2010 - 08:38 Uhr

Hi telnet,

wie liest du aus ? Poste mal (Code) wie du auf das event reagierst.

mfg
Ristor

//Edit: Oh das senden hab ich irgendwie verdrängt =)

23.02.2010 - 10:05 Uhr

Hoi mycity,

also ich glaube nicht das das geht und wenn dan nur mit größerem aufwand.

Tipp: mach dir ein seperates form und lies die dateien in eine listview

mfg
Ristor

23.02.2010 - 09:37 Uhr

moinsen,

mit WMI geht das soweit ich weiss 😃

schau dir das mal an

WIN_32_Printer


using System;
using System.Management;
using System.Windows.Forms;

namespace WMISample
{
    public class MyWMIQuery
    {
        public static void Main()
        {
            try
            {
                ManagementObjectSearcher searcher = 
                    new ManagementObjectSearcher("root\\CIMV2", 
                    "SELECT * FROM Win32_Printer"); 

                foreach (ManagementObject queryObj in searcher.Get())
                {
                    Console.WriteLine("-----------------------------------");
                    Console.WriteLine("Win32_Printer instance");
                    Console.WriteLine("-----------------------------------");
                    Console.WriteLine("PortName: {0}", queryObj["PortName"]);
                }
            }
            catch (ManagementException e)
            {
                MessageBox.Show("An error occurred while querying for WMI data: " + e.Message);
            }
        }
    }
}

grüßle
Ristor

22.02.2010 - 14:27 Uhr

Hallo mycitylive,

ein kleinen Tipp ->


 Process.Start("C:\MeinViewer" , "-openfile myCAD.cad");

ist halt nur die Frage ob dein Viewer solch einen Parameter unterstützt -- aber in der Regel sollte er das unterstützen ;D

Grüßle,
Ristor

//Edit: zu langsam 😄

18.09.2009 - 07:33 Uhr

Hallo,

sry für den push aber hat den niemand nen Tipp oder ein anhaltspunkt für mich?

bin echt am verzweifeln und find nix mit dem ich das bewerkstelligen kann....

nochmals ich bin für JEDEN Tipp äuserst dankbar.

mfg
Ristor

16.09.2009 - 19:59 Uhr

Hallo,

ich hab folgendes Problem und zwar bin ich grad am schreiben eines Programms das die Gedruckten Seiten sowie den Tonerstand aus dem Webinterface eines Druckers ausliest. Bei Kyocera und Lexmark Druckern war das eigentlich nicht das Problem doch jetzt hab hier einen Canon IR1024 , Ir3235 und noch einen der name fällt mir grad nicht ein^^.
Bei denen hab ich folgendes problem und zwar kann ich seine html - seiten nicht direkt ansprechen sondern Muss erst auf der ersten Seite einen OK Button klicken. Der erstellt dann irgend ne Session denk ich mal denn wenn ich längere zeit nicht mache dann gibts nen Fehler im Browser das die Id abgelaufen ist.
Also hab ich bissl rumprobiert und gegoogelt und hab es geschafft mit

 foreach (HtmlElement element in webbrowser1.Document.All)
            {
			 if (element.GetAttribute("src") == "http://IPADRESSE/btn_ok.gif")
                {
                    element.InvokeMember("Click");
                }
}

So komm ich an die Zahl (Gedruckten Seiten) und Tonerstatus die ich brauch auch hin, nur will ich in meinem Form keinen Webbrowser haben und dann hab ich mir gedacht ich bin ganz schlau und Instanziere mir einen manuell. Naja das tut dann doch nicht so wie ich will da ich das im Thread machen will und ich da keine Conrols erstellen kann.
Jetzt meine Frage gibt es irgendeine möglichkeit ohne einen Webbrowser zu verwenden diesen Button zu "klicken" damit ich eine "gültige" Id bekomme um an die besagte html seite zu kommen??

Für jeder art von antworten bin ich sehr dankbar udn seit nicht zu hart zu mir bin noch ziemlicher anfänger :>

mfg
Ristor

16.09.2009 - 18:32 Uhr

Hy FlowXp,

also ich hab gerade genau deinen Code gerade ausgeführt und bei mir tut das einwandfrei mit Windows 7 Prof. Final.

Vielleicht lässt deine Firewall nix durch??

mfg
Ristor

01.09.2009 - 12:53 Uhr

Hallo,

ersmal danke für die schnelle antwort

das programm läuft unter .net 2.0. Es sind die neuste servicepacks vom .net drauf
WMi Dienst läuft aber ich hab gerade einen anderen Dienst entdeckt der nicht läuft und zwar der "Windows Managment dienst" er lässt sich auch nicht starten.

Bin grad dabei zu schauen an was das wieder liegt <.<

Ich meld mich nochma falls ich was finde =)

mfg

01.09.2009 - 11:05 Uhr

Hallo,

ich habe da mal wieder ein kleines problemschen =)

und zwar will ich die IPadressen meiner Drucker auslesen und mach das wie folgt

 ManagementObjectSearcher searcher =
                   new ManagementObjectSearcher("root\\CIMV2",
                   "SELECT * FROM Win32_Printer");

            foreach (ManagementObject queryObj in searcher.Get())
            {

                MessageBox.Show("PortName: {0}", queryObj["PortName"].ToString());
            }

Beim ausführen kommt aber diese Exception

Der Dienst antwortete nicht rechtzeitig auf die Start- oder Steuerungsanforderung. (Exception from HRESULT: 0x8007041D)

Ich glaube nciht das es am code liegt da es bei allen WMI abfragen zu diesem Fehler kommt.
Auch wenn ich den WMI - Creator von Microsoft starte stürzt er sofort ab also denk ich das es allgemein an meinem Rechner liegt nur finde ich zu diesem Problem nix. Auch die Sufu und google fand nicht wirklich was was mir weiterhelfen könnte.

Hatte vielleicht einer von euch schonmal diesen fehler und könnte mir helfen??

Achja an nem anderen Rechner funktioniert es also muss es an meinem Rechner liegen. Irgendwelche tipps? =)

ICh danke euch schonmals im vorraus

mfg
Ristor