Visualizzazione dei risultati da 1 a 3 su 3

Discussione: CreateTableDef KO

  1. #1

    CreateTableDef KO

    votrrei creare una tabella collegata nel mio db access, ma non funziona, riporto sotto il codice
    collegando la tabella da DNS di odbc tutto ok invece
    ho esigenza di creare il collegamento dsn-less perche' il mio web server (aruba) non supporto dsn di sistema

    allego sotto 2 metodi entrambi KO con errore ERRORE 3001
    "Gli argomenti non sono di tipo valido, non sono compresi nell'intervallo consentito o sono in conflitto."

    perche' ?

    informazioni: db piattaforma e' un db myssql, con tabella lingue che vorrei collegare da access con il nome LingueNew

    grazie mille per la collaborazione

    codice:
    stConnect = "DRIVER={MySQL ODBC 3.51 Driver};SERVER=localhost;PORT=3306;DATABASE=piatta forma; USER=root;PASSWORD=ciaociao;OPTION=35;"
    ' metodo 1
    Set tdf = db.CreateTableDef("LingueNew", dbAttachSavePWD, "piattaforma.lingue", stConnect)
    ' metodo 2
    Set tdf = db.CreateTableDef("LingueNew")
    response.write TC & "CreateTableDef" & "ERRORE " & err.number & TC & err.description & ParmNomeFile
    tdf.Connect = stConnect
    tdf.SourceTableName = "'piattaforma'.'lingue'"
    db.TableDefs.Append tdf
    ErLupacchiotto.com
    Periodico Telematico
    Informazione in Giallorosso

  2. #2
    e' giusta questa sintassi ?
    Set tdf = conn.CreateTableDefs("lingueNew", true, "lingue", stConnect)

    conn - il db Access aperto correttamente
    stConnect - stringa per connettersi al db mysql


    come faccio a referenziare la tabella Mysql lingue nello schema piattaforma ?

    roba da uscirne matti, sono 2 gg che sono bloccato, grazie a tutti

    ciao

    errore
    Gli argomenti non sono di tipo valido, non sono compresi nell'intervallo consentito o sono in conflitto.
    ErLupacchiotto.com
    Periodico Telematico
    Informazione in Giallorosso

  3. #3
    ecco altre info, sperando che qualcuno mi aiuti
    :-(

    provo a semplificare al massimo (ovvio che oggi non posso per vari motivi mettere tutto su un db, devo migrare la piattaforma un po' alla volta...)
    ho 2 db:
    1. access con elenco utenti (id, utente, idlingua)
    2. mysql: con elenco lingue (id, lingua)

    nel mio db access posso creare tramite dsn una connessione odbc permanente al db mysql, in modo da avere 2 tabelle (una fisica utenti e una collegata lingue), cosi' posso usare la mia query access utenti.id, utente, lingua

    il mio web provider (aruba) pero' non mi consente di creare dei dsn, quindi il collegamento alla seconda tabella lo devo fare tramite la createtabledef passando per una connessione dsn-less

    in pratica dal mio pgm asp faccio quanto segue:
    1. open db access
    2. connessione al db mysql
    3. creare sul db access una tabella collegata tramite createtabledef alla tabella lingue presente sul db mysql
    4. eseguire la query che mette in join le 2 tabelle

    dal punto 2 non riesco ad andare avanti, se invece con la stessa stringa di connessione dsn-less provo ad aprire il db mysql tutto funziona, ma aprendo 2 db differenti non posso usare la query di cui sopra

    preciso che la stringa di connessione che uso per tentare di creare la connessione se usata da sola per aprire il db mysql funziona, ma non funziona se usata per creare una connessione nel db access per creare una connessione dsn-less

    stConnect = "DRIVER={MySQL ODBC 3.51 Driver};SERVER=localhost;" &_
    "PORT=3306;DATABASE=piattaforma;USER=root;PASSWORD =ciaociao;OPTION=3;"

    il database access e' aperto con i seguenti parametri (forse qualcuno di questi impedisce la createtabeledef ????)

    Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=D:\inetpub\webs\tibergolcom\mdb-database\SicurezzaLocale.mdb;Mode=Share Deny None;Extended Properties=";Jet OLEDB:System database=";Jet OLEDB:Registry Path=";Jet OLEDBatabase Password=";Jet OLEDB:Engine Type=5;Jet OLEDBatabase Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password=";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDBon't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=FalseF:\sspietropaolo\mdb-database\SicurezzaLocale-prova.mdb;Persist Security Info=False

    ecco alcuni tentativi, tutti fallitti, di table def

    - Set tdf = db.CreateTableDefs("lingueNew", true, "lingue", stConnect)
    - Set tdf = db.CreateTableDef("lingue", false, "lingue", stConnect)
    - Set tdf = db.DBEngine.Workspaces(0).Databases(0).CreateTable Def("lingue")
    - db.DBEngine.RegisterDatabase "myDSN", "{MySQL ODBC 3.51 Driver}", True, stConnect
    - tdf.Connect = stConnect
    tdf.SourceTableName = "lingue"
    conn.TableDefs.Append tdf
    - db.dbEngine.RegisterDatabase "lingue", "MySql", True, stConnect

    lo so' sono tanti, ma speravo che a FORTUNTA qualcuno funzionasse, dato che sono diversi gg che mi sono praticamente arenato

    l'errore e' sempre lo stesso: ERRORE 3704 - L'operazione non è consentita se l'oggetto è chiuso.


    grazie mille per la collaborazione
    ErLupacchiotto.com
    Periodico Telematico
    Informazione in Giallorosso

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.