[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