<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.dotnetzone.gr:443/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>SQL Server (και άλλες databases)</title><link>https://www.dotnetzone.gr:443/cs/forums/28/ShowForum.aspx</link><description>Θέματα που αφορούν τον SQL Server (7.0, 2000, 2005) αλλά και Oracle, Access, DB2, MySQL, κλπ.</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ: SQLDMO Restore - RestoreSink Ενημέρωση του % ολοκλήρωσης</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/22193.aspx</link><pubDate>Thu, 14 Dec 2006 18:07:25 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:22193</guid><dc:creator>moruin</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/22193.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=22193</wfw:commentRss><description>Ευχαριστώ και τους 2. Alexnir δε τη δοκίμασα τη λύση γιατί απλά δεν είναι στο σχεδιασμό της εφαρμογής η χρήση sql scripts. Imano τη λύση που πρότεινες τη δοκίμασα ήδη, το μόνο πρόβλημα είναι ότι το event PersentComplete, που στη ουσία ανήκει στα objects BackupSink &amp; RestoreSink, δε γίνεται implement στη delphi! Οπότε πρέπει να αντιμετωπίσω αυτό το πρόβλημα &lt;img src="/cs/emoticons/emotion-6.gif" alt="Sad" /&gt;. Και πάλι ευχαριστώ και τους 2.</description></item><item><title>Απ: SQLDMO Restore - RestoreSink Ενημέρωση του % ολοκλήρωσης</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/22143.aspx</link><pubDate>Wed, 13 Dec 2006 22:10:25 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:22143</guid><dc:creator>imanos</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/22143.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=22143</wfw:commentRss><description>&lt;P&gt;Ο Παρακάτω κώδικας είναι σέ VB6 και δέν&amp;nbsp; είναι δύσκολο να προσαρμοστεί σέ .ΝΕΤ ή Delphi &lt;/P&gt;
&lt;P&gt;'Έχουμε ένα progressBar=DBProgress όπου πριν ξεκινήσει η διαδικασία BackUp ή Restore δίνουμε το value=0&lt;/P&gt;
&lt;P&gt;'Παρακάτω είναι ο κώδικας ελπίζω να είναι κατανοητός&lt;/P&gt;
&lt;P&gt;private&amp;nbsp; WithEvents oSQLServer As SQLDMO.SQLServer&lt;BR&gt;private&amp;nbsp; WithEvents oCurBackup As SQLDMO.Backup&lt;BR&gt;private&amp;nbsp; WithEvents oCurRestore As SQLDMO.Restore&lt;/P&gt;
&lt;P&gt;Private Sub Form_Load()&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set oSQLServer = New SQLServer&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set oCurBackup = New Backup&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set oCurRestore = New Restore&lt;/P&gt;
&lt;P&gt;end sub&lt;/P&gt;
&lt;P&gt;private sub BeginBackUp()&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oCurBackup.Database =&amp;nbsp;"Όνομα Βάσης"&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oCurBackup.TruncateLog = SQLDMOBackup_Log_Truncate&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oCurBackup.Devices =&amp;nbsp;"Όνομα&amp;nbsp;Device"&lt;/P&gt;
&lt;P&gt;' To OptReplace&amp;nbsp;είναι ένα CheckBox το οποίο μας δηλώνει άν Θέλουμε να Διαγράψουμε τα προηγούμενα BackUp στο Device&amp;nbsp;ή να κανουμε Append&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If OptReplace.Value = True Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oCurBackup.Initialize = True&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ElseIf Optadd.Value = True Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oCurBackup.Initialize = False&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oCurBackup.PercentCompleteNotification = 1&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oCurBackup.BackupSetName ="Όνομα Backup"&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oCurBackup.SQLBACKUP oSQLServer&lt;/P&gt;
&lt;P&gt;end sub&lt;/P&gt;
&lt;P&gt;Private Sub BeginRestore()&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oCurRestore.PercentCompleteNotification = 1&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oCurRestore.Database =&amp;nbsp;"Όνομα Βάσης"&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oCurRestore.Devices = "Όνομα Device"&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oCurRestore.FileNumber =&amp;nbsp;1 'Ο Αριθμός του&amp;nbsp;BackUp&amp;nbsp;στο Device&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oCurRestore.SQLRestore oSQLServer&lt;/P&gt;
&lt;P&gt;end sub&lt;/P&gt;
&lt;P&gt;'Εδώ πιάνεις το Percent όταν κάνεις Backup Προσοχή το ποσοστό έρχεται κατά 10,20,30....κ.λ.π&lt;/P&gt;
&lt;P&gt;Private Sub oCurBackup_PercentComplete(ByVal Message As String, ByVal Percent As Long)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If Message &amp;lt;&amp;gt; "" Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DBProgress.Value = Percent&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DoEvents&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;BR&gt;End Sub&lt;/P&gt;
&lt;P&gt;'Εδώ πιάνεις το Percent όταν κάνεις&amp;nbsp;Restore Προσοχή το ποσοστό έρχεται κατά 10,20,30....κ.λ.π&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;Private Sub oCurRestore_PercentComplete(ByVal Message As String, ByVal Percent As Long)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If Message &amp;lt;&amp;gt; "" Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DBProgress.Value = Percent&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DoEvents&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;BR&gt;End Sub&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;'Τα υπόλοιπα Κομμάτια του κώδικα που χρειάζεται το SQLDMO δέν τα βάζω γιατί Ζήτησες μόνο σέ ποιά κομμάτια πιάνεις το Percent όταν κάνεις BackUp ή Restore&lt;/P&gt;</description></item><item><title>Απ: SQLDMO Restore - RestoreSink Ενημέρωση του % ολοκλήρωσης</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/22142.aspx</link><pubDate>Wed, 13 Dec 2006 21:56:54 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:22142</guid><dc:creator>alexnir</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/22142.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=22142</wfw:commentRss><description>λακωνικη απαντηση η απο πανω&lt;BR&gt;&lt;BR&gt;γενικα, δεν μπορεις να ξερεις ποσο θα κρατησει, αφου εξαρταται απο 1002 παραγοντες (π.χ. ο υπολογιστης που τρεχει το προγραμμα σου κατα τι ποσοστο ειναι απασχολημενος, ο server ποσο απασχολημενος ειναι, που βρισκεται το αρχειο που κανεις restore, ποση κινηση εχει το δικτυο, αν ειναι αναδρομος ο Ερμης και αλλα τετοια&amp;nbsp;&lt;img src="/cs/emoticons/emotion-4.gif" alt="Stick out tongue" /&gt; )&lt;BR&gt;&lt;BR&gt;με τον βρωμικο τροπο, απλα ρωτας καθε φορα να σου πει που βρισκεται αλλα το μειονεκτημα ειναι πως τον απασχολεις ποιο πολυ.&lt;BR&gt;&lt;BR&gt;Στην ιστοσελιδα που σου προτεινω παραπανω εχει και παραδειγματα με κωδικα και λεει και 2 πραγματακια θεωριας που πιστευω να σε βοηθησουν.</description></item><item><title>Απ: SQLDMO Restore - RestoreSink Ενημέρωση του % ολοκλήρωσης</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/22140.aspx</link><pubDate>Wed, 13 Dec 2006 21:39:31 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:22140</guid><dc:creator>alexnir</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/22140.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=22140</wfw:commentRss><description>η βρωμικη λυση:&lt;br /&gt;
&lt;br /&gt;
--**************************************&lt;br /&gt;
&lt;br /&gt;
--     &lt;br /&gt;
&lt;br /&gt;
-- Name: sample code that shows how to r&lt;br /&gt;
&lt;br /&gt;
--     eturn progress info from long running SP&lt;br /&gt;
&lt;br /&gt;
--     s&lt;br /&gt;
&lt;br /&gt;
-- Description:Some sample code that sho&lt;br /&gt;
&lt;br /&gt;
--     ws how to return progress info from long&lt;br /&gt;
&lt;br /&gt;
--      running SPs. This is useful for reporti&lt;br /&gt;
&lt;br /&gt;
--     ng purposes or to include other mechanis&lt;br /&gt;
&lt;br /&gt;
--     ms to control the SP execution.&lt;br /&gt;
&lt;br /&gt;
-- By: Umachandar&lt;br /&gt;
&lt;br /&gt;
details.--**************************************&lt;br /&gt;
&lt;br /&gt;
--     &lt;br /&gt;
&lt;br /&gt;
--To store the progress details&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
&lt;br /&gt;
You can make this AS complex as you want BY adding more progress details,&lt;br /&gt;
&lt;br /&gt;
mechanism TO pause the job etc.&lt;br /&gt;
&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE ##Progress( Step int , ItTookSoLong int )&lt;br /&gt;
&lt;br /&gt;
GO&lt;br /&gt;
&lt;br /&gt;
CREATE PROC EverRunningProc&lt;br /&gt;
&lt;br /&gt;
AS&lt;br /&gt;
&lt;br /&gt;
DECLARE @step int , @Delay char(10)&lt;br /&gt;
&lt;br /&gt;
SELECT @step = 1&lt;br /&gt;
&lt;br /&gt;
WHILE( 1 = 1)&lt;br /&gt;
&lt;br /&gt;
    BEGIN&lt;br /&gt;
&lt;br /&gt;
    IF @step = 1000 BREAK&lt;br /&gt;
&lt;br /&gt;
    INSERT ##Progress VALUES( @Step , 0 )&lt;br /&gt;
&lt;br /&gt;
    -- Do random delay between 1 to 45 secon&lt;br /&gt;
&lt;br /&gt;
    --     ds&lt;br /&gt;
&lt;br /&gt;
    SELECT @Delay = CONVERT( varchar, DATEADD( ss, CEILING( RAND()* 44 ),&lt;br /&gt;
&lt;br /&gt;
    '1970-01-01') , 8 )&lt;br /&gt;
&lt;br /&gt;
    WAITFOR DELAY @Delay&lt;br /&gt;
&lt;br /&gt;
    UPDATE ##Progress&lt;br /&gt;
&lt;br /&gt;
    SET ItTookSoLong = datepart( ss, convert( datetime , @Delay ) ) ,&lt;br /&gt;
&lt;br /&gt;
    @Step = Step + 1&lt;br /&gt;
&lt;br /&gt;
    WHERE Step = @Step&lt;br /&gt;
&lt;br /&gt;
END&lt;br /&gt;
&lt;br /&gt;
GO&lt;br /&gt;
&lt;br /&gt;
-- In your app, you can do:&lt;br /&gt;
&lt;br /&gt;
-- Calculate percentage based on total n&lt;br /&gt;
&lt;br /&gt;
--     umber of steps&lt;br /&gt;
&lt;br /&gt;
SELECT MAX( Step ) % 1000.0 AS StepPer&lt;br /&gt;
&lt;br /&gt;
FROM ##Progress&lt;br /&gt;
&lt;br /&gt;
και για λιγο διαβασμα:&lt;br /&gt;
&lt;br /&gt;
http://www.punctualgraphics.com/Articles/A20030711/A20030711_p01.htm&lt;br /&gt;
&lt;br /&gt;
σε VB&lt;br /&gt;
&lt;br /&gt;
hope it helps</description></item><item><title>SQLDMO Restore - RestoreSink Ενημέρωση του % ολοκλήρωσης</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/22054.aspx</link><pubDate>Tue, 12 Dec 2006 20:55:24 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:22054</guid><dc:creator>moruin</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/22054.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=22054</wfw:commentRss><description>Καλημέρα. Χρειάζομαι βοήθεια σε ένα θέμα του SQLDMO. &lt;br&gt;Έχω φτιάξει ένα buckup manager για να ενσωματωθεί σε ένα mini erp. Όταν κάνει buckup - restore μιας βάσης θέλουν οι users να βλέπουν ένα progress της διαδικασίας. &lt;br&gt;Η ρουτίνα PersentComplete που δίνει το DMO για το restore object πολύ απλά δεν υπάρχει. Με μια μικρή έρευνα το ανακάλυψα στο object RestoreSink το οποίο όμως δεν είναι registered οπότε η άμεση χρήση του είναι αδύνατη. &lt;br&gt;Αν έχει κάποιος καμία ιδέα είναι ευπρόσδεκτη.&lt;img src="/cs/emoticons/emotion-1.gif" alt="Smile" /&gt;&lt;br&gt;&lt;br&gt;Και τώρα τα δύσκολα: δεν γράφω σε .net αλλά σε delphi, μπορώ όμως να προσαρμώσω την όποια λύση ανάλογα. &lt;img src="/cs/emoticons/emotion-5.gif" alt="Wink" /&gt;&lt;br&gt;&lt;br&gt;Ευχαριστώ προκαταβολικά.&lt;br&gt;</description></item></channel></rss>