[SQL ] 利用excel vba執行複雜SQL不能超過255

作者: mardin (mardin)   2020-10-28 12:05:31
各位先進大家好,
我利用excel vba執行一個複雜的SQL, 因為SQL指令的長度太長超過255
在執行VBA時, 這個SQL字串就只留前面的255bytes的指令,
造成SQL語法不完整, 出問題,
我已GOOGLE好久, 都找不到答案, 快瘋掉了, 請各位先進指導一下, 感謝。
excel 程式片段大概如下: (問在倒數第2行 SQL字串)
VVVVVVVVVVVVVVVVVVVVVVVVVVVV
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
conn.ConnectionString = "Driver={MySQL ODBC 8.0 Unicode Driver};" & _
"SERVER = localhost; " & _
"PORT = 3306" & _
"DATABASE = dbdb;" & _
"UID = root; PASSWORD = 123; OPTION=3"
conn.Open conn.ConnectionString
conn.Execute "use dbdb"
strsql = "SELECT ......." 'SQL長度超過 255, 會被截掉
rs.Open strsql, conn
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
作者: Tjpmars (回憶)   2020-10-28 13:36:00
在mysql內寫好sp或是view去呼叫如何?
作者: Iories (無法克制)   2020-10-29 19:54:00
長度限制應是Excel儲存格的限制 strsql = 是否有儲存格?若有,把固定文字都寫在VBA裡,會變動的才寫在儲存格試試
作者: unilaico (瑋~)   2020-10-30 03:40:00
好像用複製貼上有時候會出現 可以用儲存格=A1&B1...把太長的語法連在一起
作者: unfinish (百年孤寂)   2020-11-10 13:46:00
大膽猜一下 原po應該是設中斷點再從區域變數視窗直接抓變數內容裡的字串出來吧 後面加一行Range("A1")=strsql用儲存格看 保證查詢字串一個字不少 我覺得原po查詢字串應該有語法錯誤

Links booklink

Contact Us: admin [ a t ] ucptt.com