使用 csv/txt 示例打開 Database()?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />有沒有人有一個 Open Database() 示例,用於將 ODBC 轉換為 .csv 或 .txt 文件?我可以讓 ODBC 與 Excel 2007 .xlsx 一起正常工作,但沒有正確推斷出用於打開 .csv 文件的文本文件連接字符串。我什至通過 Windows ODBC 數據源管理器引用了正確的“用戶 DSN”名稱字符串。所以我想知道我是否有錯誤的“DriverId”如下所示?謝謝...dj
這有效:
dt_excel=打開數據庫("DSN=Excel 文件 xlsx;DBQ=C:\Data.xlsx;DriverId=790;MaxBufferSize=2048;PageTimeout=5;","SELECT *","Result");
這不起作用:
dt_csv=打開數據庫("DSN=Text File;DBQ=C:\Data.csv;DriverId=27;MaxBufferSize=2048;PageTimeout=5;","SELECT *","Result");
回复:使用 csv/txt 示例打開數據庫()?嗨 MS,是的,昨晚深夜我終於想通了!是的,這正是您在語法方面發布的內容。感謝您回复此主題。作為記錄,以下是我對文本文件執行 ODBC 的了解。它實際上與 JSL 無關,而是對文本文件本身執行 ODBC 所需的行業慣例/語法:
一個。創建 schema.ini - 必須創建此文件以支持文本文件格式。將其放在與文本文件相同的目錄中。通過記事本輕鬆創建。用於 ODBC 文本文件的 Google schema.ini 了解詳細信息。
b.使用正確的 ODBC 語法 - 與 Excel ODBC DBQ 字符串不同,文本文件 ODBC DBQ 字符串不引用路徑+文件名,而只是引用路徑。這就是我掛斷電話的原因。所以這是有效的(正如您在上面發布的那樣 - 關鍵是引用 DBQ= 而不是 DBQ= 然後將文件名拆分為 SQL FROM 語句):
dt_csv=打開數據庫("DSN=文本文件;DBQ=C:\;","SELECT * FROM Data.csv","Result");
C。次要細節 - 只是一個註釋。如果您使用的是 Win7,ODBC 管理器有兩個不同的位置。一個是 32 位位置,另一個是 64 位位置。微軟將它們命名為格陵蘭島和冰島(有點誤導)。當/如果您要添加/修改 ODBC 文本文件驅動程序時,請注意這一點。我聽說在 Win8 中他們可能會以某種方式製作這些單獨的名稱或標識符。
Win7 ODBC 管理器:
32 位:C:\Windows\SysWOW64\odbcad32.exe
64 位:C:\Windows\System32\odbcad32.exe
無論如何,上面的 a.) + b.) 確實允許我使用 JSL 到 ODBC 到原始文本文件。非常好... ...打碟機
回复:使用 csv/txt 示例打開數據庫()?您嘗試過這種變體嗎? 它使用示例文件,但我遇到了分隔符問題。 但我至少得到了一個表格,其中包含來自文本文件的(混亂的)數據。
dt_csv =打開數據庫( “DSN=文本文件;DBQ=C:\;” , “從 Data.csv 中選擇 *” , “結果” ) ;
回复:使用 csv/txt 示例打開數據庫()?謝謝乍得。我嘗試刪除“DriverId”字符串和其他後續字符串並得到相同的錯誤消息。就好像它找不到我的文本文件驅動程序(儘管它在 Windows ODBC 管理器中看起來很好)。否則,我的連接字符串中有某種拼寫錯誤/不匹配嗎?奇怪的是,這一切在 Excel 中運行良好(但我的數據文件是 csv,所以我寧願不必將它們轉換為 .xlsx 文件來使用 ODBC)。
這不起作用:
dt_csv=打開數據庫("DSN=文本文件;DBQ=C:\Data.csv;","SELECT *","結果");
結果的錯誤消息:
[Microsoft][ODBC 文本驅動程序]“(未知)”不是有效路徑。確保路徑名拼寫正確並且您已連接到文件所在的服務器。
回复:使用 csv/txt 示例打開數據庫()?我認為我從未在我的 DSN 字符串中引用過“DriverId”。如果您完全不使用它,它會起作用嗎?