La query SQL eseguita sulla cartella di lavoro di Excel restituisce il campo di testo troncato
-
22-07-2019 - |
Domanda
Sto eseguendo una query SQL SELECT tramite una connessione ADO a una cartella di lavoro di Excel 2007 con il seguente codice (utilizzando una versione personalizzata di VBScript)
dim ado, rs
set ado = CreateObject("ADODB.Connection")
ado.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=workbook.xlsx;Extended Properties=""Excel 12.0 Xml;HDR=YES;IMEX=1"";"
ado.open()
set rs = ado.execute("SELECT * FROM [sheet1$]")
che è semplice. Il problema è che qualsiasi cella con testo più lungo di 255 caratteri viene troncata; C'è un modo per aggirare questo? C'è una proprietà nella stringa di connessione che supporterà questo o è un'opzione che devo modificare nel documento Excel? Ho provato la funzione CAST () di MSSQL ma questo provoca un errore quando eseguito.
Qualsiasi aiuto sarebbe molto apprezzato.
Soluzione
Penso che stai incontrando una variante di una limitazione di vecchia data nel provider di accesso ai dati di Excel. Vedi http://support.microsoft.com/default.aspx ? scid = kb; EN-US; 189897 per un esempio o google per altre migliaia.
Altri suggerimenti
Invece di provare a usare CAST (), hai provato a usare la funzione CONVERT ()?