Sql 如何编写连接字符串

Sql 如何编写连接字符串,sql,excel,vba,Sql,Excel,Vba,我正在尝试使用Excel中的VBA来查询SQL数据库,我得到了以下代码作为起点,这非常棒,但我不知道编写连接字符串的语法,到目前为止一直无法找到它。希望你们能帮我 Dim cn as new ADODB.Connection Dim rs as new ADODB.Recordset Cn.ConnectionString = “your connection string” Cn.Open Rs.Open “query like SELECT * FROM MYTABLE etc.”, cn

我正在尝试使用Excel中的VBA来查询SQL数据库,我得到了以下代码作为起点,这非常棒,但我不知道编写连接字符串的语法,到目前为止一直无法找到它。希望你们能帮我

Dim cn as new ADODB.Connection
Dim rs as new ADODB.Recordset

Cn.ConnectionString = “your connection string”
Cn.Open
Rs.Open “query like SELECT * FROM MYTABLE etc.”, cn
Range(“A1”).CopyFromRecordset rs

Rs.close
Cn.close
这段代码可能会对您有所帮助(它只是我手头上的一些东西,与您正在尝试的操作非常接近,而不是重写您的代码),但是您的连接字符串会根据您的数据库而有所不同。有关字符串本身语法的更多信息,请转到。由于没有正确的引用,因此出现编译错误。在VBE中,转到“工具”并选择“参照”。确保已选中ActiveX数据对象6.1库

 Private Sub GetFieldNames()

 Set con1 = New ADODB.Connection
 Set rs1 = New ADODB.Recordset
 Dim ProjectName As String
 Dim ConCat As String

 con1.ConnectionString = "Provider=SQLOLEDB;Data Source=SERVERADDRESS;Initial Catalog=DATABSE;IntegratedSecurity=SSPI"
 con1.Open

 With rs1
     .ActiveConnection = con1
     .Open "SELECT column_name,* From information_schema.columns Where table_name = 'Projects' ORDER by ordinal_position"
     Sheet1.Range("A1").CopyFromRecordset rs1

     .Close

 End With


 con1.Close
 Set con1 = Nothing

 End Sub

如果你在谷歌上搜索一下,我相信你会发现大量的例子是一个很好的开始。类似这样的内容:
cn.ConnectionString=“Provider=SQLOLEDB.1;Data Source=ServerName;Initial Catalog=databaseName;TRUSTED\u CONNECTION=YES”
过去两周我一直在谷歌上搜索,还没有找到我需要的东西来让我的大脑明白。不过波特兰跑步者提供的非常有用,谢谢你,先生。现在我只需要弄清楚为什么它会给我一个复杂的错误:用户定义的类型未定义错误在DIM的第一行使用VBE的
工具► 引用
以包括一个ADO编译器引用库,如Microsoft ActiveX Data Objects 2.5库。我可以按照您的建议修改代码并添加引用,以进一步了解此过程,但现在我遇到了一个不同的问题,它在尝试打开时显示无效授权规范错误连接字符串。这可能与
IntegratedSecurity=SSPI
部分有关。您需要确定如何连接到SQL Server数据库。是通过windows身份验证还是SQL Server身份验证?然后需要相应地修改连接字符串。关于连接字符串有很多信息。问一个特定的问题,我们可能会提供帮助。我能够让它工作,我必须将密码添加到连接字符串中(这是SQL Server身份验证)我只是不认为我需要那个部分,因为当您使用向导进行连接时,excel生成的连接文件不在该文件中,而我正使用该文件来帮助编写代码。