Avatar billede petercardel Nybegynder
10. juni 2001 - 15:06 Der er 21 kommentarer og
1 løsning

Hvad er der galt hér?

Hej Alle

Jeg har problemer med et ASP script som opdaterer databaser...ved ikke om der er nogen der kender det. Det hedder TableEditor og er lavet af 2eNetWorX.

Nå, men altså, jeg kan ikke få skidtet til at virke...jeg får følgende fejlbesked fra browseren:
________________________

Server.MapPath() fejl \'ASP 0173 : 80004005\'

Ugyldigt tegn i sti

/te/te_config.asp, linje 128

Der blev angivet et ugyldigt tegn i parameteren sti for MapPath-metoden.

_____________________________

Koden fra filen ser således ud:

______________________________
<%
response.buffer = false

    \'How many records in a page?
    const cPerPage = 10

    \'Encode HTML tags?
    \'Turn this on if you have problems with displaying
    \'records with html content.
    const bEncodeHTML = False

    \'Maximum number of chars to display in table view (0 : no limit)
    \'Warning: If you have HTML content in your fields;
    \'you should set bEncodeHTML to True if you specify a limit
    const lMaxShowLen = 100
   
    \'Show Related Table Contents as ComboBoxes for foreign key fields?
    const Relation = True
   
    \'Show connection details? (Number of tables, views and procs)
    \'This requires all connections to be opened, so te_admin.asp will run slow
    const bShowConnDetails = False
   
    \'Should blank fields be converted to NULL when the field is nullable?
    \'Convert \'\' to null in non-numeric and non-date fields?
    Const bConvertNull = False

    \'Convert \'\' and 0 to null in numeric fields?
    Const bConvertNumericNull = False

    \'Convert \'\' and 0 to null in date fields?
    Const bConvertDateNull = False

    \'Define your total number of connections here
    \'(The biggest \"i\" of arrDBs(i) should be equal to this)
    const iTotalConnections = 4

    \'Using Redim causes a performance degredation
    \'But it\'s OK since array size is small
    redim arrDbs(iTotalConnections)
    redim arrDesc(iTotalConnections)
    redim arrType(iTotalConnections)
    redim arrConn(iTotalConnections)

    \'Different Connection Types
    const tedbAccess = 1
    const tedbSQLServer = 2
    const tedbDsn = 3
    const tedbConnStr = 4
   
    arrType(0) = tedbAccess
    arrType(1) = tedbAccess
    arrType(2) = tedbSQLServer
    arrType(3) = tedbDsn
    arrType(4) = tedbConnStr

    \'--[»]--- Define database locations -------------------------
    arrDBs(0) = \"teadmin.mdb;\" \'TableEditoR user administration db

    \'For Access (password is optional)
    \'arrDBs(i) = \"DatabasePath\\DatabaseName.mdb;[Password]\"
    arrDBs(1) = \"test.mdb; \"

    \'For SQL Server
    \'arrDBs(i) = \"DatabaseName;ComputerName;UserName;Password\"
    arrDBs(2) = \"northwind;192.168.0.1;sa; \"

    \'For DSN
    \'arrDBs(i) = \"DataSourceName\"
    arrDBs(3) = \"testdsn\"
   
    \'For direct Connection String
    \'arrDBs(i) = \"AnyConnectionString\"
    arrDBs(4) = \"Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=\" & Server.MapPath(\"test.mdb\") & \";\"

    \'--[»]--- Define Descriptions for Connections ---------------

    arrDesc(0) = \"Table Editor User Administration\"
    arrDesc(1) = \"Access - test.mdb\"
    arrDesc(2) = \"SQL Server - Nortwind\"
    arrDesc(3) = \"DSN - TestDsn\"
    arrDesc(4) = \"Connection String\"
   
   
    \'That\'s all ;)
   
    \'Construct connection strings
    for iConnection = 0 to iTotalConnections
        sDBName = \"\"
        sComputerName = \"\"
        sUserName = \"\"
        sPassword = \"\"
        \'response.write arrDBs(iConnection) & \"<br>\"
        select case arrType(iConnection)
            case tedbAccess
                \'Access
                aParams = split(arrDBs(iConnection), \";\")
                if isArray(aParams) then
                    sDBName = Server.MapPath(trim(aParams(0)))
                    sPassword = trim(aParams(1))
                end if
                arrConn(iConnection) = \"Provider=Microsoft.Jet.OLEDB.4.0;\" &_
                                    \"Persist Security Info=False;\" &_
                                  \"Data Source=\" & Server.MapPath(arrDBs(iConnection)) & \";\" & _
                                  \"Jet OLEDB:Database Password=\" & sPassword & \";\"
            case tedbSQLServer
                \'SQL Server
                aParams = split(arrDBs(iConnection), \";\")
                if isArray(aParams) then
                    sDBName = trim(aParams(0))
                    sComputerName = trim(aParams(1))
                    sUserName = trim(aParams(2))
                    sPassword = trim(aParams(3))
                end if
                arrConn(iConnection)  = \"Provider=SqlOLEDB;Network Library=DBMSSOCN;\" & _
                                    \"Data Source=\" & sComputerNAme & \";\" &_
                                    \"Initial Catalog=\" & sDBName & \";\" & _
                                    \"User Id=\" & sUserName & \";\" &_
                                    \"Password=\" & sPassword & \";\"
            case tedbDsn
                \'Data Source Name
                arrConn(iConnection)  = \"dsn=\" & arrDBs(iConnection)
            case tedbConnStr
                \'Direct connection string
                arrConn(iConnection) = arrDBs(iConnection)
        end select
    next
%>
_________________________

Jeg kan ikke se, hvor fejlen...håber der er andre der kan :o)

/Peter
Avatar billede perla Nybegynder
10. juni 2001 - 15:12 #1
Prøv at udskrive strengen først, så er der mulighed for at se hvad der er galt.

Hvilken linie er linie 128 ?

-Per
Avatar billede tdaugaard Nybegynder
10. juni 2001 - 15:12 #2
Jamen kig da på linie 128 .. det er jo der fejlen er.
Jeg vil gætte mig frem til at det er:

sDBName = Server.MapPath(trim(aParams(0)))

der er linie 128. Og indholdet af trim(aParams(0)) er det der forårsager fejlen.
Avatar billede zoidberg Nybegynder
10. juni 2001 - 15:13 #3
er det hele scriptet? for linie 128 er %>!
Avatar billede petercardel Nybegynder
10. juni 2001 - 15:15 #4
linie nummer 128 ser ud som følger:
                arrConn(iConnection) = \"Provider=Microsoft.Jet.OLEDB.4.0;\" &_
Avatar billede perla Nybegynder
10. juni 2001 - 15:17 #5
Til acces bruger jeg den connection string

Conn.Open \"Driver={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"Support.mdb\")

-Per
Avatar billede tdaugaard Nybegynder
10. juni 2001 - 15:20 #6
perla:> \"Microsoft.Jet.OLEDB.4.0\" er en nyere driver ... den er ligeså god eller bedre som den du bruger.
Avatar billede petercardel Nybegynder
10. juni 2001 - 15:22 #7
hvis der er nogen der vil downloade for at tjekke hele filen, så er adressen

http://www.2enetworx.com/dev/projects/tableeditor.asp

Avatar billede tdaugaard Nybegynder
10. juni 2001 - 15:27 #8
Kan du ikke sende den til e@tdaugaard.dk ? Man skal oprette bruger og logge ind osv. det gider jeg sku\'t ..
Avatar billede perla Nybegynder
10. juni 2001 - 15:31 #9
tdaugaard > ja, det kan da godt være, men denne ved jeg virker også mod access2000 som kører jet4(MDAC 2.6).

-Per
Avatar billede perla Nybegynder
10. juni 2001 - 15:32 #10
Prøv at læse dette link, det har jeg haft meget glæde af

http://www.asp101.com/articles/john/connstring/default.asp

-Per
Avatar billede tdaugaard Nybegynder
10. juni 2001 - 15:34 #11
perla:> Det ved jeg skam også for jeg bruger kun Microsoft Access Driver (*.mdb) selv, af den ene grund at det er den jeg kan huske i hovedet ;O)
Avatar billede perla Nybegynder
10. juni 2001 - 15:36 #12
Mener faktisk at provider kun er til MS SQL, men jeg er ikke sikker.

-Per
Avatar billede tdaugaard Nybegynder
10. juni 2001 - 15:38 #13
perla:> nopes .. jeg har haft brugt scripts der kører på Access 2000 DB\'ere med Microsoft.Jet.OLEDB.4.0 driveren ..
Avatar billede perla Nybegynder
10. juni 2001 - 16:06 #14
Har kun fundet en reference til det.

Her er så den connection stringen

Con.Open \"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Program \" & _
\"Files\\Microsoft Office\\Office\\Samples\\Northwind.mdb;Jet OLEDB:System \" & _
\"Database=C:\\Program Files\\Microsoft Office\\Office\\System.mdw;User \" & _
\"ID=Admin;\"

-Per
Avatar billede tdaugaard Nybegynder
10. juni 2001 - 16:08 #15
ej .. hvad pokker skal det bruges til !? Har du slet ikke læst fejl beskeden i hans spørgsmål ?

\"Der blev angivet et ugyldigt tegn i parameteren sti for MapPath-metoden.\"
Avatar billede perla Nybegynder
10. juni 2001 - 16:16 #16
Jo men da der ikke er en sti i den linie han referer til, eller anden variabel må problemet jo være noget andet ....

P.S har du fået det forkerte be ud af sengen!!. Ide\'en er jo at hjælpe ikke snærre af hinanden..
Avatar billede perla Nybegynder
10. juni 2001 - 16:23 #17
Ligger test.mdb i samme bibliotek som scriptet eller har du flere test.mdb. Prøv at tilskrive mappath til en variabel for sig selv, jeg tror den ikke resturnerer noget.

-Per
Avatar billede petercardel Nybegynder
10. juni 2001 - 17:15 #18
tdaugaard: Nu har jeg mailet scriptet med tilhørende testDB til dig
Avatar billede tdaugaard Nybegynder
10. juni 2001 - 17:17 #19
fint :-) jeg kigger lige på det...
Avatar billede petercardel Nybegynder
11. juni 2001 - 16:00 #20
Jeg har afsat lidt flere point til den der konkret kan læse mit lille problem.
Avatar billede tdaugaard Nybegynder
11. juni 2001 - 16:03 #21
Sorry .. jeg har haft lidt travlt med diverse ting ... jeg kigger på det lidt senere .. jeg har fået din mail :-)
Avatar billede petercardel Nybegynder
11. juni 2001 - 16:05 #22
Alt ok tdaugaard...glæder mig til at høre fra dig
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester