[C#/OleDB]:No value given for one or more required parameter

Pagina: 1
Acties:

  • Mesjefskie
  • Registratie: Augustus 2004
  • Laatst online: 16-09 15:58

Mesjefskie

If it works, it's true!

Topicstarter
Ik heb een probleem met het uitlezen van een CSV bestand via MS Jet OLEDB. Op de PC waarop ik deze applicatie maak draait onderstaande code zonder problemen (Win7, 64bit, VS2008Pro) maar op de PC waar deze applicatie op moet gaan draaien werkt 't niet. Ik krijg op die PC (WinXPSP2, 32bit) de volgende foutmelding:

code:
1
2
"No value given for one or more required parameters."   
System.Exception System.Data.OleDb.OleDbException


Dit is de code waarbij het fout gaat:
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
using (DataTable dt = new DataTable())
            {
                try
                {
                    string dir = @"C:\SapWorkDir\";                                     //the location of the source csv file
                    string file = @"ProductionList.CSV";                                //the source csv file
                    string cs = "Provider=Microsoft.Jet.OLEDB.4.0;"                     //the connection string
                        + "Data Source=\"" + dir + "\\\";"
                        + "Extended Properties=\"text;HDR=YES;FMT=Delimited(,)\"";
                    string query = "SELECT FORMAT([S  Date],'00000000') as [FSTAD],"    //the query, note the formatting options, without it... 
                        + "FORMAT([S Time],'00:00:00') as [FSTAU],"                     //...the date and time fields would have no leading zero!
                        + "FORMAT([E  Date],'00000000') as [SENDD],"
                        + "FORMAT([E Time],'00:00:00') as [SENDU],"
                        + "[Order #] as [PLNUM],"
                        + "MID([Resource],2,8) as [PLNNR]"
                        + " FROM " + file
                        + " ORDER BY [Resource] ASC";

                    OleDbDataAdapter da = new OleDbDataAdapter(query, cs);              //data-adapter for the csv file
                    try { da.Fill(dt); }                                                //fill the datatable
                    catch (Exception ex) 
                    {
                        err.Text = ex.Message.ToString();                               //set the text of the error label to the error message
                    }
                    return dt;                                                          //return the datatable
                }
                catch (Exception ex)
                {
                    err.Text = "parseCSV: " + ex.Message;                               //set the text of the error label to the error message
                }


Mis ik iets? Het rare is dat 't op een andere Windows XP PC dan weer wel werkt... 8)7

Ik heb al wat rondgestruind op internet maar de antwoorden die ik heb gevonden zijn niet echt behulpzaam. De foutmelding doet vermoeden dat er iets in de query niet klopt... maar op andere PC's wel?
Ik heb ook al naar de regional settings gekeken maar die staan op alle PC's gelijk.

[ Voor 5% gewijzigd door Mesjefskie op 17-12-2009 15:11 . Reden: Toegevoegd wat ik zelf al gedaan heb... hoe ineffectief ook... ]


  • Daspeed
  • Registratie: Maart 2001
  • Laatst online: 16-09 19:33
MDAC versies gelijk?

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 09:10

gorgi_19

Kruimeltjes zijn weer op :9

En de query is ook bij beiden gelijk?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Niemand_Anders
  • Registratie: Juli 2006
  • Laatst online: 09-07-2024

Niemand_Anders

Dat was ik niet..

Kijk eens naar landeninstellingen (en dan met name datum en numerieke notaties). Office 'databases' zijn daar nogal gevoelig voor.

If it isn't broken, fix it until it is..


Acties:
  • 0 Henk 'm!

  • Mesjefskie
  • Registratie: Augustus 2004
  • Laatst online: 16-09 15:58

Mesjefskie

If it works, it's true!

Topicstarter
Bedankt voor alle reacties:
- MDAC versies zijn op beide machines: versie 2.50.0.0.
- De query is gelijk. Heb 't met een vereenvoudigde query geprobeerd > dus select * from file maar ook dat werkte niet op de productie PC.
- Landinstellingen zijn gelijk, heb extra gelet punten, comma's en datumnotatie maar dat is allemaal gelijk...

Denk dat ik maar eens ga kijken of ik iets anders dan JET OleDb kan gebruiken om 'n CSV filetje uit te lezen.