没有足够的过程缓存来运行此过程、Sybase ASE、C#
我在将 ~50meg 文件加载到数据库时遇到了一个小问题。不幸的是,在我们问为什么要这样做之前,我需要添加此功能以用于遗留目的。该列设置为Image类型,这意味着我无法不幸地加载数据块并将它们连接起来(因为sybase不允许图像类型列)
我正在构建我的参数当前使用 DBType.Binary 的 DBProviderFactory。我尝试过其他类型,但没有任何帮助。
我收到以下错误:
没有足够的过程缓存来运行此过程、触发器或 SQL 批处理。稍后重试,或者要求您的 SA 重新配置 ASE,使用更多过程缓存。
服务器上的过程缓存设置为 100meg。
其他信息:
- 它可以工作~35 meg 文件
- 旧代码(用 PB 编写)使用 UPDATEBLOB 并且可以在那里工作。
有什么建议吗?
I've having a small issue loading a ~50meg file into a database. Unfortunately, and before we ask why I'm doing this, I need to add this feature for legacy purposes. The column is setup as type Image which means I can't unfortunately load the data in chunks and concatenate them (since sybase doesn't not allow it for Image type columns)
I'm building my parameter from the DBProviderFactory using DBType.Binary currently. I've tried other types and nothing helps.
I get the follow error:
There is not enough procedure cache to run this procedure, trigger, or SQL batch. Retry later, or ask your SA to reconfigure ASE with more procedure cache.
The Procedure cache on the server is set to 100meg.
Other Info:
- It works work ~35 meg files
- The old code (written in PB) uses UPDATEBLOB and it works there.
Any suggestions?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
100 MB 的过程缓存相当小。特别是如果您知道单个过程将占用超过 50 MB 的空间。这是整个数据库实例的总过程缓存,而不是每个会话或每个过程。
我建议你让你的过程缓存更大。
100 MB of procedure cache is pretty small. Especially if you have a single procedure taht you know will take over 50 MB. That is the total procedure cache for the whole database instance not per session or per procedure.
I would suggest you make your procedure cache bigger.