sql server 2008 使用过程中遇到虚拟池可用内存不足?请问这种问题怎么解决?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql server 2008 使用过程中遇到虚拟池可用内存不足?请问这种问题怎么解决?相关的知识,希望对你有一定的参考价值。

启用AWE分配内存没?
启用一下试试,具体在服务器上按右键,属性,内存里
参考技术A 空间还有吗?压缩一下数握和日志 参考技术B 查看磁盘空间。。这种情况。。应该是磁盘空间不够用了。

VBA 将日期参数传递给 SQL Server 存储过程

【中文标题】VBA 将日期参数传递给 SQL Server 存储过程【英文标题】:VBA passing date parameters to SQL Server stored procedure 【发布时间】:2017-02-19 01:39:49 【问题描述】:

我遇到了从 EXCEL VBA 代码传递给 SQL Server 存储过程的日期参数的问题。

存储过程采用两个日期参数@FromDate@ToDate。在 Excel 中,我想使用从单元格中获取的日期值执行此过程。

问题是,从单元格到过程的日期以"dd/mm/yyyy" 格式传递,而不管我在 excel 单元格中所做的任何格式更改。而 SQL 过程接受格式 "yyyy-mm-dd""yyyy-mon-dd""yyyy/mm/dd""dd-mon-yyyy"

程序抛出错误:

"从字符转换日期和/或时间时转换失败 字符串”用于从 excel 传递的日期(格式为“dd/mm/yyyy”

我使用的vba代码是(参考https://www.mssqltips.com/sqlservert...to-sql-server/)

Private Sub CommandButton1_Click()
Dim FromDate As Date
Dim ToDate As Date

FromDate = Format(Sheets("Sheet1").Range("B1").Value, "yyyy-mm-dd") 'Pass value from cell B1 to SellStartDate variable
ToDate = Format(Sheets("Sheet1").Range("B2").Value, "yyyy-mm-dd") 'Pass value from cell B2 to SellEndDate variable

MsgBox FromDate
MsgBox ToDate

'Pass the Parameters values to the stored procedure used in the data connection
With ActiveWorkbook.Connections("TestConnection").OLEDBConnection
.CommandText = "EXEC dbo.spr_TestProcedure '" & FromDate & "','" & ToDate & "'"
ActiveWorkbook.Connections("TestConnection").Refresh

End With
End Sub.

有没有办法以 SQL Server 过程接受的格式传递日期?如果没有其他选择,那么我将不得不选择将我的过程参数类型设置为 varchars 并将它们转换为日期。

感谢您对此的帮助!

【问题讨论】:

这适用于哪个 RDBMS?请添加标签以指定您使用的是mysqlpostgresqlsql-serveroracle 还是db2 - 或其他完全不同的东西。 在 VBA 中将 FromDateToDate 变量声明为字符串。您希望将字符串连接到您的 CommandText SQL 字符串。否则你的Format() 是多余的。 @marc_s,我已经编辑了我的问题以标记数据库,即 sql server @Ralph,无论我在 excel 中使用什么格式作为日期,VBA 都会(在 msgbox 上)显示 dd/mm/yyyy 格式。例如,如果我输入 2016-sep-25,msgbox 会显示为 25/09/2016。 commandText 将代码构建为“EXEC dbo.spr_TestProcedure '@FromDate','@ToDate'”,当您右键单击 -> 表 -> 编辑查询时我可以看到。 .Refresh 是执行代码的那个。 @JNevill,是的,当我将 FromDate 和 ToDate 更改为字符串时它正在工作。感谢您指出选项。因此,表查询是使用 SQL 期望的日期格式构建的。虽然我现在卡住了查询没有执行,因此数据没有得到刷新,除了代码“ActiveWorkbook.Connections("TestConnection").Refresh" 【参考方案1】:

您可以将日期作为 char() 传递给 sp 并将其转换为日期。

【讨论】:

以上是关于sql server 2008 使用过程中遇到虚拟池可用内存不足?请问这种问题怎么解决?的主要内容,如果未能解决你的问题,请参考以下文章

你好,我想问您一个问题,我在使用SQL Server 2008 R2运行存储过程发送邮件的时候遇到了下面的错误。

SQL Server数据库安装过程中遇到的问题

如何自动导出 SQL Server 2008 版本的存储过程

遇到的vSphere Client无法连接vSphere server的问题

在 SQL Server 2008 中使用集合作为函数/存储过程的参数?

windows server 2008 可以装sql server2012 吗