Laden...
S
speedytweety
myCSharp.de - Member
2
Themen
5
Beiträge
Letzte Aktivität
vor 13 Jahren
Dabei seit
01.11.2011
Alter
41
Erstellt vor 13 Jahren

Hallo zusammen

Ich hab mal wieder ein Wald vor mir. Einerseits bekomme ich Datatyp: "timespan" anderseits solle es Object sein.

Ich hab eine DataTabel wo in der drittenSspalte Zeiten stehen:
z.B. 00:12:55


MessageBox.Show((dt_importe.Rows[j - l][2]).GetType().ToString());
MessageBox.Show((dt_berechnungen.Rows[k][2]).GetType().ToString());

Ich bekomme die Ausgabe "timespan"

Versuche ich nun:


MessageBox.Show(TimeSpan.Compare(dt_importe.Rows[j - l][2],dt_berechnungen.Rows[k][2]).ToString());

Passiert folgendes:

Fehlermeldung:
Kann nicht vom Typ Object in system.timespan kann nicht konvertiert werden.

Ich hab es mit verwandel in datetime via string versucht. Ich hab via string.format "HHmmss" versucht ein int zu machen.

Eigetlich mochte ich nur die beiden zeiten vergleichen und daraus eine schlaufe machen


// geht natürlich nicht

while( dt_importe.Rows[j - l][2] > dt_berechnungen.Rows[k][2]
{
//spass haben
}


Mir fehlt etwas der Ansatz, wie ich mit solchen formaten umgehe? Wie bekomme ich 2 Datentypen, die ich für mein while benutzen kann?

Hab auch schon überlegt ob ich ein string mache und irgendwie versuche die puntke rauszubekommen um dann wieder ein int zu machen. Kling aber nicht wirklich elegant.

Erstellt vor 13 Jahren

Folgendes:

Ursprünglich war es mal zwei Methoden, mit folgenden aufgaben:

CSV to Datatabel
DataTabel to SQL-Server

Irgendwie hab ich mir beim erstenversuch was falsch gemacht mit meinem Connectionstring. Die Methode hab ich dann links liegen gelassen, da ich sie ja nicht mehr aufrufe, sollte das kein Problem sein. Falsch gedacht.

Was nun in den bösen Zeilen steht. Über mein "cs." connectionsstring kommt der irgendwie in die falsche methode. Oder ich weiss nicht so genau was der macht. Einmal komplett auskommentieren..--> es geht

thx euch viel mal leute 🙂

Erstellt vor 13 Jahren

Ich vermute mal mein PC ist nicht so ausgelastet, ich kann neben bei Arbeiten. Ich hab ja nur ein Thread aus C# und die andere CPU kann dan die SQL DB nehmen, sollte also passen.

Nun gibts ein harte Landung "Exception-StackTrace" ? Ich befürchte, ihr lerne erst mal Debuggen. Hast du sowas gemeint ? In Zeile 108 steht die Tolle Fehlermeldung und in Zeile 82 hab ich nun auch was gesehen, kann ich aber auch nicht interpretieren

Fehlermeldung:
"BEOPT.vshost.exe" (Verwaltet (v2.0.50727)): "C:\Windows\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll" wurde geladen, das Laden von Symbolen wurde übersprungen. Das Modul ist optimiert, und die Debugoption "Nur eigenen Code" ist aktiviert.
"BEOPT.vshost.exe" (Verwaltet (v2.0.50727)): "C:\Windows\assembly\GAC_MSIL\Microsoft.VisualStudio.HostingProcess.Utilities\10.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.HostingProcess.Utilities.dll" wurde geladen, das Laden von Symbolen wurde übersprungen. Das Modul ist optimiert, und die Debugoption "Nur eigenen Code" ist aktiviert.
"BEOPT.vshost.exe" (Verwaltet (v2.0.50727)): "C:\Windows\assembly\GAC_MSIL\System.Windows.Forms\2.0.0.0__b77a5c561934e089\System.Windows.Forms.dll" wurde geladen, das Laden von Symbolen wurde übersprungen. Das Modul ist optimiert, und die Debugoption "Nur eigenen Code" ist aktiviert.
"BEOPT.vshost.exe" (Verwaltet (v2.0.50727)): "C:\Windows\assembly\GAC_MSIL\System\2.0.0.0__b77a5c561934e089\System.dll" wurde geladen, das Laden von Symbolen wurde übersprungen. Das Modul ist optimiert, und die Debugoption "Nur eigenen Code" ist aktiviert.
"BEOPT.vshost.exe" (Verwaltet (v2.0.50727)): "C:\Windows\assembly\GAC_MSIL\System.Drawing\2.0.0.0__b03f5f7f11d50a3a\System.Drawing.dll" wurde geladen, das Laden von Symbolen wurde übersprungen. Das Modul ist optimiert, und die Debugoption "Nur eigenen Code" ist aktiviert.
"BEOPT.vshost.exe" (Verwaltet (v2.0.50727)): "C:\Windows\assembly\GAC_MSIL\Microsoft.VisualStudio.HostingProcess.Utilities.Sync\10.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.HostingProcess.Utilities.Sync.dll" wurde geladen, das Laden von Symbolen wurde übersprungen. Das Modul ist optimiert, und die Debugoption "Nur eigenen Code" ist aktiviert.
"BEOPT.vshost.exe" (Verwaltet (v2.0.50727)): "C:\Windows\assembly\GAC_MSIL\Microsoft.VisualStudio.Debugger.Runtime\10.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.Debugger.Runtime.dll" wurde geladen, das Laden von Symbolen wurde übersprungen. Das Modul ist optimiert, und die Debugoption "Nur eigenen Code" ist aktiviert.
"BEOPT.vshost.exe" (Verwaltet (v2.0.50727)): "C:\Windows\assembly\GAC_MSIL\mscorlib.resources\2.0.0.0_de_b77a5c561934e089\mscorlib.resources.dll" wurde geladen, das Laden von Symbolen wurde übersprungen. Das Modul ist optimiert, und die Debugoption "Nur eigenen Code" ist aktiviert.
"BEOPT.vshost.exe" (Verwaltet (v2.0.50727)): "D:\Users\Username\Documents\Visual Studio 2010\Projects\BEOPT\BEOPT\bin\Debug\BEOPT.vshost.exe" wurde geladen, das Laden von Symbolen wurde übersprungen. Das Modul ist optimiert, und die Debugoption "Nur eigenen Code" ist aktiviert.
"BEOPT.vshost.exe" (Verwaltet (v2.0.50727)): "C:\Windows\assembly\GAC_MSIL\System.Core\3.5.0.0__b77a5c561934e089\System.Core.dll" wurde geladen, das Laden von Symbolen wurde übersprungen. Das Modul ist optimiert, und die Debugoption "Nur eigenen Code" ist aktiviert.
"BEOPT.vshost.exe" (Verwaltet (v2.0.50727)): "C:\Windows\assembly\GAC_MSIL\System.Xml.Linq\3.5.0.0__b77a5c561934e089\System.Xml.Linq.dll" wurde geladen, das Laden von Symbolen wurde übersprungen. Das Modul ist optimiert, und die Debugoption "Nur eigenen Code" ist aktiviert.
"BEOPT.vshost.exe" (Verwaltet (v2.0.50727)): "C:\Windows\assembly\GAC_MSIL\System.Data.DataSetExtensions\3.5.0.0__b77a5c561934e089\System.Data.DataSetExtensions.dll" wurde geladen, das Laden von Symbolen wurde übersprungen. Das Modul ist optimiert, und die Debugoption "Nur eigenen Code" ist aktiviert.
"BEOPT.vshost.exe" (Verwaltet (v2.0.50727)): "C:\Windows\assembly\GAC_32\System.Data\2.0.0.0__b77a5c561934e089\System.Data.dll" wurde geladen, das Laden von Symbolen wurde übersprungen. Das Modul ist optimiert, und die Debugoption "Nur eigenen Code" ist aktiviert.
"BEOPT.vshost.exe" (Verwaltet (v2.0.50727)): "C:\Windows\assembly\GAC_MSIL\System.Deployment\2.0.0.0__b03f5f7f11d50a3a\System.Deployment.dll" wurde geladen, das Laden von Symbolen wurde übersprungen. Das Modul ist optimiert, und die Debugoption "Nur eigenen Code" ist aktiviert.
"BEOPT.vshost.exe" (Verwaltet (v2.0.50727)): "C:\Windows\assembly\GAC_MSIL\System.Xml\2.0.0.0__b77a5c561934e089\System.Xml.dll" wurde geladen, das Laden von Symbolen wurde übersprungen. Das Modul ist optimiert, und die Debugoption "Nur eigenen Code" ist aktiviert.
Der Thread '<Kein Name>' (0x1090) hat mit Code 0 (0x0) geendet.
Der Thread '<Kein Name>' (0x193c) hat mit Code 0 (0x0) geendet.
Der Thread 'vshost.LoadReference' (0x1020) hat mit Code 0 (0x0) geendet.
"BEOPT.vshost.exe" (Verwaltet (v2.0.50727)): "D:\Users\Username\Documents\Visual Studio 2010\Projects\BEOPT\BEOPT\bin\Debug\BEOPT.exe" geladen, Symbole geladen.
"BEOPT.vshost.exe" (Verwaltet (v2.0.50727)): "C:\Windows\assembly\GAC_MSIL\System.Configuration\2.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll" wurde geladen, das Laden von Symbolen wurde übersprungen. Das Modul ist optimiert, und die Debugoption "Nur eigenen Code" ist aktiviert.
"BEOPT.vshost.exe" (Verwaltet (v2.0.50727)): "C:\Windows\assembly\GAC_32\System.Transactions\2.0.0.0__b77a5c561934e089\System.Transactions.dll" wurde geladen, das Laden von Symbolen wurde übersprungen. Das Modul ist optimiert, und die Debugoption "Nur eigenen Code" ist aktiviert.
"BEOPT.vshost.exe" (Verwaltet (v2.0.50727)): "C:\Windows\assembly\GAC_32\System.EnterpriseServices\2.0.0.0__b03f5f7f11d50a3a\System.EnterpriseServices.dll" wurde geladen, das Laden von Symbolen wurde übersprungen. Das Modul ist optimiert, und die Debugoption "Nur eigenen Code" ist aktiviert.
"BEOPT.vshost.exe" (Verwaltet (v2.0.50727)): "C:\Windows\assembly\GAC_MSIL\System.Data.resources\2.0.0.0_de_b77a5c561934e089\System.Data.resources.dll" geladen
Eine Ausnahme (erste Chance) des Typs "System.InvalidOperationException" ist in System.Data.dll aufgetreten.
"BEOPT.vshost.exe" (Verwaltet (v2.0.50727)): "C:\Windows\assembly\GAC_MSIL\System.Transactions.resources\2.0.0.0_de_b77a5c561934e089\System.Transactions.resources.dll" geladen
System.Transactions Critical: 0 : <TraceRecord xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord" Severity="Critical"><TraceIdentifier>
>
</TraceIdentifier><Description>Unbehandelte Ausnahme</Description><AppDomain>BEOPT.vshost.exe</AppDomain><Exception><ExceptionType>System.InvalidOperationException, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</ExceptionType><Message>Timeout abgelaufen. Das Zeitlimit ist vor dem Anfordern einer Verbindung aus dem Pool abgelaufen. Möglicherweise werden alle Verbindungen im Pool bereits verwendet, und die maximale Poolgröße wurde erreicht.</Message><StackTrace> bei System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
bei System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
bei System.Data.SqlClient.SqlConnection.Open()
bei BEOPT.Form1.SQLinsert(DataTable dt) in D:\Users\Username\Documents\Visual Studio 2010\Projects\BEOPT\BEOPT\Form1.cs:Zeile 72.
bei BEOPT.Form1.btn_import_Click(Object sender, EventArgs e) in D:\Users\Username\Documents\Visual Studio 2010\Projects\BEOPT\BEOPT\Form1.cs:Zeile 46.
bei System.Windows.Forms.Control.OnClick(EventArgs e)
bei System.Windows.Forms.Button.OnClick(EventArgs e)
bei System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
bei System.Windows.Forms.Control.WmMouseUp(Message&amp;amp; m, MouseButtons button, Int32 clicks)
bei System.Windows.Forms.Control.WndProc(Message&amp;amp; m)
bei System.Windows.Forms.ButtonBase.WndProc(Message&amp;amp; m)
bei System.Windows.Forms.Button.WndProc(Message&amp;amp; m)
bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message&amp;amp; m)
bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message&amp;amp; m)
bei System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
bei System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG&amp;amp; msg)
bei System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
bei System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
bei System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
bei System.Windows.Forms.Application.Run(Form mainForm)
bei BEOPT.Program.Main() in D:\Users\Username\Documents\Visual Studio 2010\Projects\BEOPT\BEOPT\Program.cs:Zeile 18.
bei System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
bei System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
bei Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
bei System.Threading.ThreadHelper.ThreadStart_Context(Object state)
bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
bei System.Threading.ThreadHelper.ThreadStart()</StackTrace><ExceptionString>System.InvalidOperationException: Timeout abgelaufen. Das Zeitlimit ist vor dem Anfordern einer Verbindung aus dem Pool abgelaufen. Möglicherweise werden alle Verbindungen im Pool bereits verwendet, und die maximale Poolgröße wurde erreicht.
bei System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
bei System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
bei System.Data.SqlClient.SqlConnection.Open()
bei BEOPT.Form1.SQLinsert(DataTable dt) in D:\Users\Username\Documents\Visual Studio 2010\Projects\BEOPT\BEOPT\Form1.cs:Zeile 72.
bei BEOPT.Form1.btn_import_Click(Object sender, EventArgs e) in D:\Users\Username\Documents\Visual Studio 2010\Projects\BEOPT\BEOPT\Form1.cs:Zeile 46.
bei System.Windows.Forms.Control.OnClick(EventArgs e)
bei System.Windows.Forms.Button.OnClick(EventArgs e)
bei System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
bei System.Windows.Forms.Control.WmMouseUp(Message&amp;amp; m, MouseButtons button, Int32 clicks)
bei System.Windows.Forms.Control.WndProc(Message&amp;amp; m)
bei System.Windows.Forms.ButtonBase.WndProc(Message&amp;amp; m)
bei System.Windows.Forms.Button.WndProc(Message&amp;amp; m)
bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message&amp;amp; m)
bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message&amp;amp; m)
bei System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
bei System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG&amp;amp; msg)
bei System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
bei System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
bei System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
bei System.Windows.Forms.Application.Run(Form mainForm)
bei BEOPT.Program.Main() in D:\Users\Username\Documents\Visual Studio 2010\Projects\BEOPT\BEOPT\Program.cs:Zeile 18.
bei System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
bei System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
bei Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
bei System.Threading.ThreadHelper.ThreadStart_Context(Object state)
bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
bei System.Threading.ThreadHelper.ThreadStart()</ExceptionString></Exception></TraceRecord>
Der Thread '<Kein Name>' (0x6a0) hat mit Code 0 (0x0) geendet.
Eine Ausnahme (erste Chance) des Typs "System.InvalidOperationException" ist in System.Data.dll aufgetreten.
System.Transactions Critical: 0 : <TraceRecord xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord" Severity="Critical"><TraceIdentifier>
>
</TraceIdentifier><Description>Unbehandelte Ausnahme</Description><AppDomain>BEOPT.vshost.exe</AppDomain><Exception><ExceptionType>System.InvalidOperationException, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</ExceptionType><Message>Timeout abgelaufen. Das Zeitlimit ist vor dem Anfordern einer Verbindung aus dem Pool abgelaufen. Möglicherweise werden alle Verbindungen im Pool bereits verwendet, und die maximale Poolgröße wurde erreicht.</Message><StackTrace> bei System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
bei System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
bei System.Data.SqlClient.SqlConnection.Open()
bei BEOPT.Form1.SQLinsert(DataTable dt) in D:\Users\Username\Documents\Visual Studio 2010\Projects\BEOPT\BEOPT\Form1.cs:Zeile 72.
bei BEOPT.Form1.btn_import_Click(Object sender, EventArgs e) in D:\Users\Username\Documents\Visual Studio 2010\Projects\BEOPT\BEOPT\Form1.cs:Zeile 46.
bei System.Windows.Forms.Control.OnClick(EventArgs e)
bei System.Windows.Forms.Button.OnClick(EventArgs e)
bei System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
bei System.Windows.Forms.Control.WmMouseUp(Message&amp;amp; m, MouseButtons button, Int32 clicks)
bei System.Windows.Forms.Control.WndProc(Message&amp;amp; m)
bei System.Windows.Forms.ButtonBase.WndProc(Message&amp;amp; m)
bei System.Windows.Forms.Button.WndProc(Message&amp;amp; m)
bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message&amp;amp; m)
bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message&amp;amp; m)
bei System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
bei System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG&amp;amp; msg)
bei System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
bei System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
bei System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
bei System.Windows.Forms.Application.Run(Form mainForm)
bei BEOPT.Program.Main() in D:\Users\Username\Documents\Visual Studio 2010\Projects\BEOPT\BEOPT\Program.cs:Zeile 18.
bei System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
bei System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
bei Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
bei System.Threading.ThreadHelper.ThreadStart_Context(Object state)
bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
bei System.Threading.ThreadHelper.ThreadStart()</StackTrace><ExceptionString>System.InvalidOperationException: Timeout abgelaufen. Das Zeitlimit ist vor dem Anfordern einer Verbindung aus dem Pool abgelaufen. Möglicherweise werden alle Verbindungen im Pool bereits verwendet, und die maximale Poolgröße wurde erreicht.
bei System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
bei System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
bei System.Data.SqlClient.SqlConnection.Open()
bei BEOPT.Form1.SQLinsert(DataTable dt) in D:\Users\Username\Documents\Visual Studio 2010\Projects\BEOPT\BEOPT\Form1.cs:Zeile 72.
bei BEOPT.Form1.btn_import_Click(Object sender, EventArgs e) in D:\Users\Username\Documents\Visual Studio 2010\Projects\BEOPT\BEOPT\Form1.cs:Zeile 46.
bei System.Windows.Forms.Control.OnClick(EventArgs e)
bei System.Windows.Forms.Button.OnClick(EventArgs e)
bei System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
bei System.Windows.Forms.Control.WmMouseUp(Message&amp;amp; m, MouseButtons button, Int32 clicks)
bei System.Windows.Forms.Control.WndProc(Message&amp;amp; m)
bei System.Windows.Forms.ButtonBase.WndProc(Message&amp;amp; m)
bei System.Windows.Forms.Button.WndProc(Message&amp;amp; m)
bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message&amp;amp; m)
bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message&amp;amp; m)
bei System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
bei System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG&amp;amp; msg)
bei System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
bei System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
bei System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
bei System.Windows.Forms.Application.Run(Form mainForm)
bei BEOPT.Program.Main() in D:\Users\Username\Documents\Visual Studio 2010\Projects\BEOPT\BEOPT\Program.cs:Zeile 18.
bei System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
bei System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
bei Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
bei System.Threading.ThreadHelper.ThreadStart_Context(Object state)
bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
bei System.Threading.ThreadHelper.ThreadStart()</ExceptionString></Exception></TraceRecord>

Erstellt vor 13 Jahren

Stimmt, wo genau der fehler auftritt, wäre noch so entscheidend. Der fehler wird mir hier angezeigt:



namespace BEOPT
{
    static class Program
    {
        /// <summary>
        /// Der Haupteinstiegspunkt für die Anwendung.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());



        }

Um genau zu sein bei Application.Run(new Form1());

Ich kann es soweit eingrenzen, dass das laden des CSV's in die DataTabel auch mit 2.5 Millionen ROW's geht. Das GUI hängt zwar etwas "15sec", aber gibt mir dann den ersten wert der DataTabel aus --> qasi meine kontrolle.

Das Problem tritt erst auf, seit ich die Daten in die DB schreiben will. Sowohl mit BulkCopy, wie auch wenn ich mit jeder zeile einen einzelnen SQL String absetze (SQLCommand).

Meine Umgebung: Alles Lokal direkt auf dem Laptop Windows 7, MS-SQL Server

Erstellt vor 13 Jahren

Hallo zusammen und ein fröhliches Hallo

Ich bin blutiger anfänger und hänge irgendwie fest.

Ich versuche seit 2 Tagen eine csv einzulesen und in einem ms-sql server zu versorgen. Das heisst ich hab ein button und starte damit das ganze. Die Parameter sind zuerst einmal fix reingeschrieben.

Ist die CSV unter 100 zeilen, dann geht es.

Ist die CSV über100 zeilen, dann geht es nicht. Die GUI wirf dann folgendes:

Timeout abgelaufen. Das Zeitlimit ist vor dem Anfordern einer Verbindung aus dem Pool abgelaufen. Möglicherweise werden alle Verbindungen im Pool bereits verwendet, und die maximale Poolgröße wurde erreicht.

Ist das genau mein thema? Threading ?
[FAQ] Warum blockiert mein GUI? Oder hab ich ein anderes problem ?

Ich hab schon mal versucht das ganze in einen eigene thread zu packen, bin jedoch dann beim übergeben der parameter gescheitert.

Womit könnt ihr mir helfen, ich hab schlicht weg kein schimmer wo ich suchen muss und was der von mit will. Ich wäre dankbar für einen anhaltspunkt damit ich wieder etwas weiter komme.


        private void btn_import_Click(object sender, EventArgs e)
        {
            string s_path = "C:/temp";
            string s_dateiname = "Extrakt.csv";
            DataTable test = new DataTable();
           
            Model mod = new Model();
            test = mod.ReadCSV(s_path + "/" + s_dateiname, ';');      

        }



        public DataTable ReadCSV(string path, char seperator)
        {
            //DataTabel erstellt
            //Wird mit den Daten des gefüllt
            //FileStream dient zum lesen der CSV

            DataTable dt = new DataTable();
            FileStream aFile = new FileStream(path, FileMode.Open);
            using (StreamReader sr = new StreamReader(aFile, System.Text.Encoding.Default))
            {
                //Splitten und in Kollenen abfüllen
                string strLine = sr.ReadLine();
                string[] strArray = strLine.Split(seperator);


                foreach (string value in strArray)
                    dt.Columns.Add(value.Trim());

                DataRow dr = dt.NewRow();

                //Peek solange es noch Zeilen "sr" hat
                while (sr.Peek() > -1)
                {
                    strLine = sr.ReadLine();
                    strArray = strLine.Split(seperator);
                    //Zeile hinzufügen im DataTabel
                    dt.Rows.Add(strArray);
                }
            }

             //bulkcopy versuch
            SqlConnection cs = new SqlConnection("Data Source=Laptop\\semester; Initial Catalog=EDM; Integrated Security=True");


            //Open bulkcopy connection.
            using (SqlBulkCopy bcp = new SqlBulkCopy(cs))
            {
                bcp.DestinationTableName = "dbo.history";
                bcp.BatchSize = 500;
                bcp.BulkCopyTimeout = 300; // 300 seconds


                //
                bcp.WriteToServer(dt);
            }
            //Datatabel zurückgeben
            return dt;
        }