数据库存储过程调用显示参数输入失败

数据库存储过程调用显示参数输入失败,第1张

为什么mysql调用存储过程总是错误

为什么mysql调用存储过程总是错误_使用存储过程时一个错误的解决方法_MySQL

不料青山

原创

关注

0点赞·1083人阅读

jackxm(原作)

这段时间用了一下C Builder ,在调用存储过程的时候遇到了一些问题,问了很多地方都没有找到答案,最后还是靠自己,现在拿出来和大家分享。

示例代码:

StoredProc1->Params->Clear()

StoredProc1->Params->CreateParam( ftSmallint, "@m1", ptInput)

StoredProc1->Params->CreateParam( ftString, "@m2", ptOutput)

StoredProc1->Params->CreateParam( ftInteger, "@m3", ptOutput)

StoredProc1->Params->CreateParam( ftInteger, "@m4", ptOutput)

StoredProc1->Params->CreateParam( ftInteger, "@m5", ptOutput)

StoredProc1->Params->CreateParam( ftInteger, "Result", ptResult)

StoredProc1->Prepare()

StoredProc1->ExecProc()

问题:调用存储过程的时候总是报错,注意,时在执行StoredProc1->ExecProc()的时候就会报错,其它的地方报的错误的解决方法不再本篇文章中。执行代码报错时的错误信息提示:错误:indicator variable required but not supplied

原因:当在执行的存储过程的时候,如果有一项出项空值的时候,就会发生这样的问题

解决:在存储过程中对产成的空值进行处理,就可以了

如果你的数据库连接字符串用的是

连接字符串:

Driver={Microsoft Access Driver(*.mdb)}DBQ=aaa.mdb"

把连接字符串改以下的连接方式。

connstr = "Provider=Microsoft.jet.OLEDB.4.0Data Source="aaa.mdb"

产生这个问题的原因,有2个。

1、数据库路径错了。

2、权限。

权限设置:

设置你的虚拟目录有everyone的读写权限。

再次,把c:\windows\temp 目录加入everyone的读写权限。OK?

Sql Server服务远程过程调用失败解决

今天在登陆本地sqlserver时遇到这样一个问题,于是马上百度了各种答案,最后得以解决,于是记录一下

打开控制面板,找到卸载程序,把”Microsoft SQL Server 2013(2012) Express LocalDB”卸载掉,然后打开SQL Server 配置管理器,就会显示正常使用。

本来以为显示了就可以,结果SQL Server服务启用不了,瞬间心情低落到了极点。。。。

查找windows日志找到了这个

居然是过了评估期,难道之前的程序安装的时候没有输入密钥?阿西吧。。。。。太可恶了!

于是进到安装中心

点击这个版本升级死都没反应啊!我点我点我继续点啊点,还是没反应。。。。。。。。。

索性就直接点修复找到安装文件再试试

修复完了之后果然可以升级了,输入密钥,我的sqlserver终于连上了

附sqlserver 2008 r2密钥

Developer: PTTFM-X467G-P7RH2-3Q6CG-4DMYB

Enterprise: JD8Y6-HQG69-P9H84-XDTPG-34MBB

Microsoft SQL Server 2008 R2序列号密钥

第一种、办法就是

这种办法就是把”Microsoft SQL Server 2013(2012) Express LocalDB”卸载掉了,具体方法是:开始菜单-控制页面-增加删除程序中-找到"Microsoft SQL Server 2013(2012) Express LocalDB",然后我们点击卸载之后重启电脑,我们再打开SQL Server 配置管理器,就会显示正常使用。

第二种、办法就是升级数据库

把你现在的数据库版本升级更高版本的数据库,或者升级SqlServer2008为SP1或者SP2。

第三种、方法就是手动启动数据库服务项

方法如下:

在我们桌面右击我的电脑““管理”→“服务” 找到SQL Server(MSSQLSERVER),右击,选择“启动”。此时登陆数据库不会有问题,但是重新启动系统后,问题会依旧存在的。

刚刚打开SQL Server 2008,想要新建一个数据库,却发现出现了一个问题,这个问题由于之前没有遇到过,所以下面整理解决SQL server服务远程调用失败的几个方法,供大家参考,具体内容如下

先看看出现的问题:

出现上面这个错误的原因可能是由于咱们在装VS2012或者其他版本的时候,这个VS会自动装“Microsoft SQL Server 2013(2012) ExpressLocalDB”服务,所以导致SQL server2008,中SQL server服务显示远程过程调用失败。知道了原因解决其他就相当简单了。

第一:采用温柔的方式

乖乖地升级自己的数据库为更高的版本。

第二:将就一下

如果只用这一次数据库,就去计算机→管理→服务,找到要开启的服务SQLserver(MSSQL SERVER)去启动就OK了。

第三:不将就

当然生活嘛,就得学会不将就,因为米老师说的:不将就是发现的原动力。所以呢,为了每次使用都能正常使用,只能委屈“Microsoft SQL Server 2013(2012) ExpressLocalDB”这个服务了,鱼与熊掌不可兼得。所以去控制面板果断的找到这个自动安装的服务,去卸载它吧,对VS没有大影响。卸载后,然后开启SQL server服务下的需要的服务即可。

话说回来了,VS为什么要自动装“Microsoft SQL Server 2013(2012) ExpressLocalDB”,宝宝真不知道,不过看表面意思,应该是一个本地数据库什么的???百度告诉我说:VS2012中提供了一个本地数据库引擎“Microsoft SQL Server 2013(2012) ExpressLocalDB”,通过VS2012可以很方便管理和使用本地数据库。

再为大家分享另一套解决SQL SERVER 2008 R2配置管理器出现“远程过程调用失败”(0x800706be)错误提示的方案:

以前SQL Server 2008 不能登陆的时候,总是通过“计算机管理”→“SQL Server服务”更改一下,"SQL Server(MSSQLSERVER)"。可是现在出现的问题却成了SQL Server服务打不开的情况,很是郁闷。如图:

通过网上查,才知道是因为SQL Server2008 与VS2012 共存的问题,当你电脑中同时装了这两样东西,SQL 就会出现上图中的情况。

解决办法:从控制面板或者其他辅助软件中找到”Microsoft SQL Server Expres 2012LocalDB“将其卸载即可。如图:

卸载之后,重新刷新一下,“SQL Server服务”就出出来,如下图,然后再按照下图中的第二个红线框将已停止的SQL Server(MSSQLSERVER)启动即可。

到此为止,好多人的问题应该能够解决,可能是我RP 的原因吧,当我启动SQL Server(MSSQLSERVER)之后又出现了新的问题。具体如下图:

通过查看windows日志文件(查看日志文件的方法)就能看出是因为端口被占用的原因,解决这个问题也挺容易的,只需要将SQLEXPRESS服务中后面三个都关掉,保证每次启动只有一个启动就好。问题终于解决了。

以上就是本文的全部内容,希望帮助大家顺利解决SQL server服务显示远程过程调用失败问题。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10047415.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存