sql 2000修改sa密码时提示:未能找到存储过程 'sp-password'
sp_executesql 支持对 Transact-SQL 字符串中指定的任何参数的参数值进行替换,但是 EXECUTE 语句不支持。因此,由 sp_executesql 生成的 Transact-SQL 字符串比由 EXECUTE 语句所生成的更相似。SQL Server 查询优化器可能将来自 sp_executesql 的 Transact-SQL 语句与以前所执行的语句的执行计划相匹配,以节约编译新的执行计划的开销。
使用 EXECUTE 语句时,必须将所有参数值转换为字符或 Unicode 并使其成为 Transact-SQL 字符串的一部分
希望你能理解这一段,我是不太明白
数据库 错误2812:未能找到存储过程'sp-password
use master
go
create procedure sp_dropextendedproc --- 1996/08/30 20:13
@functname nvarchar(517) -- name of function
as
/*
** If we're in a transaction, disallow the dropping of the
** extended stored procedure.
*/
set implicit_transactions off
if @@trancount > 0
begin
raiserror(15002,-1,-1,'sp_dropextendedproc')
return (1)
end
/*
** Drop the extended procedure mapping.
*/
dbcc dropextendedproc( @functname )
return (0) -- sp_dropextendedproc
在查询分析器运行一下就行了
在企业管理器中操作,那就是直接向数据库发SQL指令。
提示:“错误2812 未能找到储存过程 sp_password”那就是“储存过程 sp_password”无法正确找到,这个叫“sp_password”存储过程被删除或被改名了。至于怎么改的,我只能告诉你,有登录数据库的ID如果有权改,都可以改动。
“装了地税发票打印软件以后就变这样了”,可能这个软件与你原有的软件冲突,可能它们指向的数据库名称相同,一般不同的软件你需要指定不同的数据库名,不能让它们混一起。
执行SQL语句出错:未能找到存储过程"sp-addsrvrolemember".-百度
这是SQL自带的存储过程,在master的存储过程里,可以用以下语句重建,或者重装SQL,记得做好备份工作。
create procedure sp_addsrvrolemember @loginame sysname, -- login name @rolename sysname = NULL -- server role nameas -- SETUP RUNTIME OPTIONS / DECLARE VARIABLES -- set nocount on declare @ret int, -- return value of sp call @rolebit smallint, @ismem int, @sid varbinary(85) -- DISALLOW USER TRANSACTION -- set implicit_transactions off IF (@@trancount > 0) begin raiserror(15002,-1,-1,'sp_addsrvrolemember') return (1) end -- VALIDATE SERVER ROLE NAME, CHECKING PERMISSIONS -- select @ismem = is_srvrolemember(@rolename) if @ismem is null begin dbcc auditevent (108, 1, 0, @loginame, NULL, @rolename, NULL) raiserror(15402, -1, -1, @rolename) return (1) end if @ismem = 0 begin dbcc auditevent (108, 1, 0, @loginame, NULL, @rolename, NULL) raiserror(15247,-1,-1) return (1) end -- AUDIT A SUCCESSFUL SECURITY CHECK -- dbcc auditevent (108, 1, 1, @loginame, NULL, @rolename, NULL) -- OBTAIN THE BIT FOR THIS ROLE -- select @rolebit = CASE @rolename WHEN 'sysadmin' THEN 16 WHEN 'securityadmin' THEN 32 WHEN 'serveradmin' THEN 64 WHEN 'setupadmin' THEN 128 WHEN 'processadmin' THEN 256 WHEN 'diskadmin' THEN 512 WHEN 'dbcreator' THEN 1024 WHEN 'bulkadmin' THEN 4096 ELSE NULL END select @sid = sid from master.dbo.syslogins where loginname = @loginame -- ADD ROW FOR NT LOGIN IF NEEDED -- if @sid is null begin execute @ret = sp_MSaddlogin_implicit_ntlogin @loginame if (@ret <> 0) begin raiserror(15007,-1,-1,@loginame) return (1) end end -- CANNOT CHANGE SA ROLES -- else if @sid = 0x1 -- 'sa' begin raiserror(15405, -1 ,-1, @loginame) return (1) end -- UPDATE ROLE MEMBERSHIP -- update master.dbo.sysxlogins set xstatus = xstatus | @rolebit, xdate2 = getdate() where name = @loginame and srvid IS NULL -- UPDATE PROTECTION TIMESTAMP FOR MASTER DB, TO INDICATE SYSLOGINS CHANGE -- exec('use master grant all to null') raiserror(15488,-1,-1,@loginame,@rolename) -- FINALIZATION: RETURN SUCCESS/FAILURE return (@@error) -- sp_addsrvrolememberGO。
1、一定要先安装SQL,再安装金蝶。建议安装Microsoft SQLServerDesktopEngine这个版本,然后下载一个绿色版本的SQL 企业管理器。
(1)、 Microsoft SQLServerDesktopEngine可以在http://www.add78.com/col.jsp?id=122下载SQL桌面版,然后打开里面点SETUP,即可以安装Microsoft SQLServerDesktopEngine。
(2)到http://www.add78.com/col.jsp?id=122下载SQL2000企业管理器绿色版,然后新建一个文件夹,重命名为SQL2000企业管理器绿色版,把下载的文件解压到里面,再点击里面的“先注册”
2、安装之前先做环境检测,把缺少的组件安装上。
3、安装金蝶的时候,安装路径如果默认C:\Program Files(X86),那么请改安装路径到C:\Program Files。
4、安装完毕后,你到开始—程序——金蝶KIS专业版——工具下面发现加密服务器和帐套管理,这两个都无法打开,
如果你点加密服务器,弹出缺少快捷方式的时候,你点浏览打开C:\Windows\syswow64\kiscom在这里面选择kismanager.exe,别选错,一定是EXE后缀的哦。
如果你点帐套管理,弹出缺少快捷方式的时候,你点览打开C:\Windows\syswow64\kiscom在这里面选一个KDActMGr.exe .
注意:如果安装的时候提示到有关SQL出错的信息的时候,你就可以使用那个SQL2000企业管理器,打开SQL登录一下。专业版12.0以下的版本,C:\Windows\syswow64\kiscom下面运行一下installdb.exe,12.0以上到安装目录下的common里面找到installdb.exe.看到恢复演示帐套成功了。就大功告成了!
我在 sql server 2000 上执行作业 提示:未能找到存储过程 'sp-start-
sp_start_job存储过程是在msdb数据库中,所以需要指定数据库名EXEC msdb.dbo.sp_start_job @job_name = 'jobtest1' 用语句改作业调度相当麻烦,不建议用语句改。
用语句改的思路首先从系统表中获取调度IdSELECT schedule_id FROM msdb.dbo.sysjobschedules WHERE job_id=(SELECT job_id FROM msdb.dbo.sysjobs WHERE name='jobtest1')然后执行存储过程更新调度EXEC msdb.dbo.sp_update_schedule @schedule_id=1, @freq_interval=1,@active_start_time=0注意,@schedule_id=1是假设第一步获取的调度id为1,如果是别的值就修改成别的。@freq_interval=1表示每周日执行,相应的周一为2 周二为4 周三为8 周四为16 周五为32 周六为64@active_start_time=0 表示0点执行,其它时间按小时分秒的形式,比如1点05分06秒就是10506。
未能找到存储过程 'sp-oacreate'
JDBC调用存储过程: CallableStatement在Java里面调用存储过程,写法那是相当的固定:Class.forName(。.Connection conn = DriverManager.getConnection(。./***p是要调用的存储过程的名字,存储过程的4个参数,用4个?号占位符代替*其余地方写法固定*/CallableStatement cstmt = conn.prepareCall("{call p(?,?,?,?)}");/***告诉JDBC,这些个参数,哪些是输出参数,输出参数的类型用java.sql.Types来指定*下面的意思是,第3个?和第4个?是输出参数,类型是INTEGER的*Types后面具体写什么类型,得看你的存储过程参数怎么定义的*/cstmt.registerOutParameter(3, Types.INTEGER);cstmt.registerOutParameter(4, Types.INTEGER);/***p是要调用的存储过程的名字,存储过程的4个参数,用4个?号占位符代替*其余地方写法固定*/CallableStatement cstmt = conn.prepareCall("{call p(?,?,?,?)}");/***在我这里第1个?和第2个?是输入参数,第3个是输出参数,第4个既输入又输出*下面是设置他们的值,第一个设为3,第二个设为4,第4个设置为5*没设第3个,因为它是输出参数*/cstmt.setInt(1, 3);cstmt.setInt(2, 4);cstmt.setInt(4, 5);//执行cstmt.execute();//把第3个参数的值当成int类型拿出来int three = cstmt.getInt(3);System.out.println(three);//把第4个参数的值当成int类型拿出来int four = cstmt.getInt(4);System.out.println(four);//用完别忘给人家关了,后开的先关cstmt.close();conn.close();JDBC调用存储过程,掌握这一个程序足够了.以下是上面程序使用的存储过程的代码,我用的是Oracle数据库,不过不论是什么数据库,对于你的程序,JDBC这一端写法都是一样的.create or replace procedure p(v_a in number,v_b number,v_ret out number,v_temp in out number)isbeginif(v_a > v_b) thenv_ret := v_a;elsev_ret := v_b;end if;v_temp := v_temp + 1;end;
转载请注明出处51数据库 » 未能找到存储过程sppassword