在SQL
Server服务器上一个作业执行时,遇到下面错误信息:

java中定义链接数据库的标准:JDBC

1、启动SQL Server 2008 Management Studio,会看到

Message:

1、导包:不同数据库有不同的jdbc驱动包,而且jdbc驱动包和数据库版本必须对应

澳门微尼斯人手机版 1

Executed as user: dbo.
The server principal “sa” is not able to access the database “xxxx”
under the current security context. [SQLSTATE 08004] (Error 916). The
step failed.

2、测试

2、 里面有一个 身份验证。这个 身份验证 的下拉列表里面有两个选项:

澳门微尼斯人手机版 2

3、写代码

Windows 身份验证SQL Server 身份验证

 

 

它们有什么区别:

作业本身执行的存储过程非常简单,就是将数据库A中的历史数据处理过后,归档到A_History库中,结果就遇到这么一个问题。将作业的存储过程取出在SSMS客户端执行成功,没有问题,但是作业执行就遇到这个从我。后面折腾了一下,终于弄清楚了原委。
原来这个作业步骤的“Advanced”选项里面,设置成了Run as user 为dbo。

try {

Windows
身份验证 是指:你可以使用你电脑Windows系统的用户名和密码进行登入。如果你的电脑没有设置密码,那么就不需要输入用户名和密码,直接点击连接就可以登入。

澳门微尼斯人手机版 3

1、//加载JDBC驱动   
Class.forName(“com.microsoft.sqlserver.jdbc.SQLServerDriver”);

我们一般使用第二种澳门微尼斯人手机版,身份验证: SQL Server
身份验证。因为,如果我们日后在其他的电脑上使用数据库的话,我们也可以使用。(如何我们使用Windows
身份验证,它的缺点是:可移植性不强。)

发表评论

电子邮件地址不会被公开。 必填项已用*标注