La query SQL eseguita sulla cartella di lavoro di Excel restituisce il campo di testo troncato

StackOverflow https://stackoverflow.com/questions/642227

  •  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.

È stato utile?

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 ()?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top