2

我不确定之前是否讨论过它,但我有以下代码(我从 Access 数据库的示例更改。)

我不知道在'Provider''Data Source'里面放什么。我正在使用MS SQL Server 2005,如何在我的机器中找到这些信息?请,即使我尝试从这里 http://www.connectionstrings.com/关注,但我仍然不知道该怎么做。


Dim conn, sql
sql = "SELECT * FROM tblOutbox"
Set conn = CreateObject("ADODB.Connection")
With conn
      .Provider = "myProvider"
      .Mode = adModeReadWrite
   .ConnectionString = "Data Source=mysource;" & _
          "database=myDbase.mdf;   "
      .Open 
End With
If conn.State = adStateOpen Then
      WScript.Echo "Connection was established."
End If
conn.Close
Set conn = Nothing

这是使用访问数据库:


Dim conn 
Dim sql
sql = "SELECT * FROM tblOutbox"
Set conn = CreateObject("ADODB.Connection")
   With conn
      .Provider = "Microsoft.Jet.OLEDB.4.0"
      .Mode = adModeReadWrite
      .ConnectionString = "Data Source= f:/Status.mdb"
      .Open 
   End With
   WScript.Echo "Connection was opened." 
conn.Close
Set conn = Nothing
WScript.Echo "Connection was closed."

4

4 回答 4

1

尝试在连接字符串中设置提供程序

conn.ConnectionString = "Provider=SQLOLEDB.1;Data Source=XXX;Initial Catalog=XXX;User ID=<XXX>;Password=<XXX>;"

注意:我还没有测试过,但它应该可以工作

于 2009-09-03T07:45:46.860 回答
1

对于您所有的连接字符串需求: http: //www.connectionstrings.com/

于 2009-09-03T07:46:51.943 回答
1

感谢您的帮助,我终于找到了解决方案。在管理工具、数据源 (ODBS)、驱动程序选项卡下,我使用提供程序:SQLNCLI,我的服务器:数据源,并将 Recordset rs 添加到代码中。似乎没有这个,连接就没有建立起来。我不知道发生了什么。

Dim conn , rs, sql, ConnString
sql = "SELECT * FROM tblOutbox"
Set rs = CreateObject("ADODB.Recordset")
Set conn = CreateObject("ADODB.Connection")
With conn
      .Provider = "SQLNCLI"
      .Mode = adModeReadWrite
      .ConnectionString = "SERVER=.\SQLExpress;AttachDbFilename=F:\Test2.mdf;Database=Test2.mdf; Trusted_Connection=Yes;"
      .Open
      WScript.Echo "Connection was established."
End With
rs.Open sql,conn
If conn.State = adStateOpen Then
      WScript.Echo "Connection was established."
Else
  WScript.Echo "No Connection ."
End If
rs.Close
Set rs = Nothing
conn.Close
Set conn = Nothing

于 2009-09-08T05:00:46.860 回答
0

使用 SQL Server,您不会直接连接到文件。作为基于文件的 RDBMS,Access 有点不同。

按照您的示例,它看起来像这样:

Dim conn, sql
sql = "SELECT * FROM tblOutbox"
Set conn = CreateObject("ADODB.Connection")
With conn
      .Mode = adModeReadWrite
      .ConnectionString = "Provider=SQLOLEDB;server=[servername];database=[databasename]uid=[insertuser];pwd=[insertpassword];"
      .Open 
End With
If conn.State = adStateOpen Then
      WScript.Echo "Connection was established."
End If
conn.Close
Set conn = Nothing

通常有一种更紧凑的方式来做到这一点,但没有上下文很难给出更好的例子

于 2009-09-03T15:19:41.117 回答