VBA连接到SQL Server Express数据库问题

时间:2017-08-30 17:29:14

标签: sql-server vba sql-server-express adodb

我安装了一份SQL Server Express(最新版)。我无法连接它。

由于我是这台计算机上的管理员,因此我不需要用户名密码,因为我创建了数据库,所有内容都应该归入Windows身份验证。我的代码如下。

我收到错误:

  

运行时错误'-2147217843(80040e4d)':
  授权规范无效

尝试打开连接时会发生此错误。

当我从主窗体启动子窗体时,此代码在initialize中运行:

Option Explicit
Private objMyConn As ADODB.Connection
Private objMyRecordset As ADODB.Recordset

Private Sub UserForm_Initialize()
    'Declare variables'
        Set objMyConn = New ADODB.Connection
        Set objMyRecordset = New ADODB.Recordset
        Dim strSQL As String

        objMyConn.ConnectionString = "Provider=SQLOLEDB;Data Source=localhost;Initial Catalog=Contact;"
        objMyConn.Open

        strSQL = "Select * from Contact where Lastname like " + Chr(39) + "%" + LastSearch + Chr(39) + " And Firstname like " + Chr(39) + "%" + FirstSearch + Chr(39)
        MsgBox strSQL

End Sub

2 个答案:

答案 0 :(得分:0)

Integrated Security=SSPI添加到您的连接字符串以指示需要可信连接:

objMyConn.ConnectionString = "Provider=SQLOLEDB;Data Source=localhost;Initial Catalog=Contact;Integrated Security=SSPI"

修改

SQL Server Express默认安装命名实例,因此您可能需要更改数据源以包含实例名称:

objMyConn.ConnectionString = "Provider=SQLOLEDB;Data Source=.\SQLEXPRESS;Initial Catalog=Contact;Integrated Security=SSPI"

答案 1 :(得分:0)

使用类似这样的内容而不是localhost

HP8300-0792\SQLEXPRESS

其中HP8300-0792是您计算机的名称。