我希望将XML数据的内容插入到ScreenContent列中(比如表“Screen”)。列的数据类型是什么?我试过“文字”和“备忘录”。它只花了255个字符。
实际的XML数据大约是150000个字符。
数据样本是
INSERT INTO ent_Screen (ItemId, [ScreenCode],[ScreenContent]) VALUES ('1','2','<svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" xmlns:xlink="http://www.w3.org/1999/xlink" class="st76" color-interpolation-filters="sRGB" contentScriptType="text/ecmascript" contentStyleType="text/css" height="11in" preserveAspectRatio="xMidYMid meet" version="1.0" viewBox="0 0 1224 792" width="17in" xml:space="preserve" zoomAndPan="disable"><style type="text/css" xml:space="preserve"><![CDATA[ .st1 {fill:#facca7;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.16} .st2 {fill:#edcdcb;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.16} .st3 {fill:#d1ebf1;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24} .st4 {marker-end:url(#mrkr4-16);stroke:#d9680d;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.16} .st5 {fill:#d9680d;fill-opacity:1;stroke:#d9680d;stroke-opacity:1;stroke- ............................................. </svg>)
我无法在Access DB中看到整个数据。
请告诉我如何打印数据。
谢谢你, 拉姆
答案 0 :(得分:1)
由于有很多引号和/或各种字符,因此在Access sql中使用SQL insert语句会有一段艰难的时间(特别是因为实际上没有转义字符甚至是第三个分隔符)。
但是,如果你在代码中抓取并处理这些数据,我会考虑使用DAO和记录集。我相信sql语句限制在大约4000个字符,你说的是150,000。
所以我会使用DAO,例如:
Dim rst As DAO.Recordset
Set rst = CurrentDb.OpenRecordset("ent_Screen")
rst.AddNew
rst!ItemId = 1
rst!ScreenCode = 2
rst!ScreenContent = strXML
rst.Update
rst.Close
因此,代码解决了分隔符的问题,并且它还解决了sql字符串长度限制问题。