Buongiorno a tutti: devo esportare una tabella di sql server presente in locale (è un gestionale con la gestione dei prodotti) su una tabella access presente su server. C'era già un programmino fatto in VB da loro che portavo i dati da sql ad access in locale e poi caricava il DB via FTB.
Io devo fare il viceversa, ovvero creare sul server la procedura che crea le tabelle nel DB access pescandole da sql server. Ecco il mio codice (userò ovviamente dati finti):
Per prima cosa apro le due connessioni e elimino dalla tabella access la tabella che desidero ricopiare. (connACC.Execute "DROP TABLE STDaree"
) ma il mio problema nasce dopo, leggete il codice.
set connSQL=Server.createobject("adodb.connection")
strConnect = "Provider = SQLOLEDB; Data Source = IP; Database=nomeDB; User ID=USER; Password=PSW;"
connSQL.Open strConnect
set connACC=Server.createobject("adodb.connection")
strConnectACC = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("../mdb-database/gestione.mdb")
connACC.Open strConnectACC
connACC.Execute "DROP TABLE STDaree"
str2 = ("SELECT * FROM dbo_STDaree INSERT INTO STDaree IN '"&Server.MapPath("../mdb-database/gestioneRIVE.mdb")&"' ")
connSQL.Execute str2
questo è il codice che utilizzava il programmino locale in VB che io ho riportato cambiando solo il percorso della tabella access facendolo mappare su server e non dandogli un percorso fisico (prima era fisso a C:\ etc etc).
Quando lo eseguo, mi viene dato questo errore: Incorrect syntax near the keyword 'IN'.
Credo che me lo dia giustamente, non avevo mai visto l'uso di IN per indicare il percorso di un database. Ma in locale, nella loro rete, lo script funziona... Avete idee? Sono disperato!
Tutto si può fare, quando si stà per affogare si impara a nuotare