
EXEC sp_change_users_login 'Report'这段代码
这个执行有结果吗
如果有的话, 就表明有孤立用户
USE 你的库名
GRANT EXECUTE ON login
TO 你的用户
sqlserver中
EXEC命令有两种用法,一种是执行一个存储过程,另一种是执行一个动态的批处理
1使用系统存储过程sp_executesql运行Unicode命令字符串
语法如下:
sp_executesql [@stmt=] stmt
[
{,[@params=] N'@parameter_name data_type [,n]'}
{,[@param1=] 'value' [,n]}
]
说明:必须先将各个包含所要运行的命令语句的Unicode字符串相加在一起,再交给系统存储过程sp_executesql来运行,而不能在sp_executesql的语句中来相加各个命令字符串。
举例如下:
declare @DBName nvarchar(20),
@Tbname nvarchar(20),
@SQLString nvarchar(500)
set @DBName=N'Northwind'
set @Tbname=N'Customers'
set @SQLString=N'USE '+@DBName+char(13) --char(13)换行
SET @SQLString=@SQLString+N'select from '+@Tbname
--必须先将命令字符串组合完毕后再交给sp_executesql来运行
exec sp_executesql @SQLString
2使用EXECUTE命令运行命令字符串
要使用EXECUTE命令来运行一个命令字符串的语法如下:
EXEC[UTE] ({@string_variable|[N] 'stql_string'} [+n])
从语法看出,可以先将包含所要运行的命令的字符串赋给一个局部变量@string_variable,再使用EXECUTE命令来运行,或是直接使用EXECUTE命令去运行一个包含所要运行的命令语句的字符串。此外,您也可以将多个包含所要运行的命令语句的字符串相加在一起,再交给EXECUTE命令来一次运行。
例:
declare @sql nvarchar(4000)
set @sql='select from [表] where email=''test@163com'''
exec (@sql)
import javasqlConnection;
import javasqlDriverManager;
import javasqlPreparedStatement;
import javasqlResultSet;
import javasqlSQLException;
//一个数据库通用的帮助类,用于连接数据库与关闭数据库
public class DBUtil {
//第一步:声明你所需要的一些全局变量
private final static String DRIVER_CLASS="commicrosoftsqlserverjdbcSQLServerDriver";//加载驱动的字符串
private final static String CONN_STR="jdbc:sqlserver://localhost:1433;databaseName=testDB";//数据库连接字符串
private final static String DB_USER="sa";//数据用户
private final static String DB_PWD="123456";//数据库登录密码
//第二步:加载数据库驱动(这里是sqlserver)
static{
try{
ClassforName(DRIVER_CLASS);
}catch(ClassNotFoundException e){
eprintStackTrace();//抛出异常
}
}
//第三步:获取数据库连接
public static Connection getConn(){
try {
return DriverManagergetConnection(CONN_STR,DB_USER,DB_PWD);
} catch (SQLException e) {
eprintStackTrace();
}
return null;
}
//最后关闭数据库连接
public static void closeConn(ResultSet rs,PreparedStatement pstmt,Connection conn){
try {
if (rs!=null) {//如果返回的结果集对象不能为空,就关闭连接
rsclose();
}
} catch (Exception e) {
eprintStackTrace();
}
try {
if (pstmt!=null) {
pstmtclose();//关闭预编译对象
}
} catch (Exception e) {
eprintStackTrace();
}
try {
if (conn!=null) {
connclose();//关闭结果集对象
}
} catch (Exception e) {
eprintStackTrace();
}
}
}
以上就是关于数据库报没有execute权限全部的内容,包括:数据库报没有execute权限、数据库的“EXEC”是什么意思应该怎么用、java连接池 execute怎么关闭数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)