我有一个包含大量数据的CLOB列的Oracle SQL数据库。我遇到了一个问题,即普通的PHP字符串变量不能保存我在CLOB列中的所有数据。它只能读取4618位,但我的文件要大得多。 CLOB列有一系列IP地址。我需要做的是分析CLOB列,以便我可以提取这些IP地址;但是,字符串变量不会保留足够的数据,甚至无法访问存储IP地址的文档部分。有什么想法吗?如何读取太大而不适合字符串的CLOB列?
1
A
回答
0
根据您的意见:
如果你就在你的浏览器中单击并说“查看源文件”,你会看到你确实有整个文件。
最有可能你只需要发射的数据返回给浏览器时,设置相应的ContentType。
0
首先,尝试增加PHP内存限制,看看是否有错误产生任何影响。如果正在检索的CLOB对象真的很大,比如2 GiB,那么在PHP中无法处理它,因为整个对象必须保存在内存中。
如果列具有固定长度的数据,它应该是相当容易的构成,其提取它的一部分的适当的查询。假设数据被编码为固定长度的文本,然后像这样将工作:
// assumes subfield is xxx.xxx.xxx.xxx: 19 fixed characters
SELECT substr (TO_CHAR(gnarly_ipadddress_fieldname), 1, 19) as ipaddr1,
substr (TO_CHAR(gnarly_ipadddress_fieldname), 20, 19) as ipaddr2,
substr (TO_CHAR(gnarly_ipadddress_fieldname), 39, 19) as ipaddr3
FROM table
WHERE (whatever);
如果子字段是可变长度的话,说不定抓住像16K块,并在PHP解析它是要走的路。
相关问题
- 1. iPhone 4字体太大而不适合
- 2. 字符串字符串Clob类型的字符太长
- 3. 用大字符串更新oracle CLOB列
- 4. 如何使用TCL读取clob数据并返回字符串
- 5. 从字符串中读取字符串而不是字符
- 6. 文件太大,不适合
- 7. 如何读取XML字符串到列表或任何集合
- 8. 从字符串到Clob和Clob到字符串的转换
- 9. 如何读取文件的行是列表而不是python中的字符串
- 10. C字符串文字“字符太大”
- 11. 如何读取JSON文件作为列表中的单独字符串而不是一个大列表
- 12. JSON字符串太大
- 13. 字符串太大DataOutputStream类
- 14. 列值读取日期而不是字符串 - 熊猫
- 15. 如何将字符串转换为clob?
- 16. ==操作符不适合字符串
- 17. 如何读取字节和字符串的混合文件
- 18. 读取未知大小的字符串
- 19. 如何将一个字符串保存为一列太大?
- 20. 如何使用scanf(而不使用字符串函数)读取字符数组?
- 21. 如何从文件中读取字符串而不使用字符数组?
- 22. 从数据库中读取大字符串而不分段大对象堆
- 23. Java3D Universe大小太小而不适合对象
- 24. 处理JSON对象太大而不适合内存
- 25. Matlab图像太大而不适合屏幕
- 26. pyinstaller文件太大,不适合内存
- 27. CreateProcess():“程序太大,不适合内存”
- 28. 字符串在Java CLOB?
- 29. 字符串为CLOB在PostgreSQL
- 30. 检查在CLOB字符串
我有,你应该用一个外键指向回原来的表存储在单独的表你的IP地址的感觉。 – Bojangles
PHP中字符串的长度没有限制(系统内存或memory_limit除外)。你是否收到错误信息? – timdev
好吧,当我做到这一点,并尝试回声$ IPADDR,页面加载罚款,对文件的只显示了一部分: $ IPADDR = $ clob->阅读(700); 然而,当我做到这一点,页面没有加载: $ IPADDR = $ clob->阅读($ clob->大小()); 然后,我会收到以下错误消息: XML分析错误:格式不正确 – stix122