连接到SQL Server通过使用ADO从Excel VBA网(Connecting to SQL

2019-09-16 12:52发布

我需要从另一台计算机连接到SQL Server数据库运行在我的笔记本电脑在网络上。 我无论是从C#应用程序以及在VBA宏这样做。 无论我的笔记本电脑完美运行和C#应用程序在网络上运行完全。 但是我无法连接使用VBA在网络上。 这是我的连接字符串:

ConnectionString = "Driver={SQL Server};Server=MY-LAPTOP; DAtabase=SAFEXlive; UID = MyUsername; PWD=MyPassword"

除了从“驱动程序= {SQL服务器}”这是一样的,我使用的C#应用​​程序,它的工作原理的连接字符串。

我然后用下面的代码(随着对Microsoft ActiveX数据对象的引用在VBE 6.0库)打开连接:

Dim oConnection As Connection
Set oConnection = New Connection
oConnection.ConnectionString = strConnectionString
oConnection.Open

这正常工作,如果我在我的笔记本电脑上运行,但如果我在网络上的另一台计算机上运行它,我得到的错误:“运行时错误“-2147217843(80040E4D)[微软] [ODBC Server驱动程序] [SQL服务器]登录用户失败......”,并指定它的用户的Windows系统中的计算机。

是否有我需要的代码或在Excel中设置一些安全设置? 还是我构建连接字符串不正确? 我究竟做错了什么?

Answer 1:

解决了。 答案是相当令人气愤。 这个问题实际上是在与连接字符串,有UID。 信不信由你改变...UID= MyUsername;.....UID=MyUsername;... ,即去掉空格字符,是所有花! 感谢您的建议,但。



Answer 2:

试试这个连接字符串,

ConnectionString = "Provider=SQLOLEDB;Data Source=MY-LAPTOP;Initial Catalog=SAFEXlive;User ID=MyUsername;Password=MyPassword"

这是一个AD域登录? 请确保您有附加的域用户名例如, domain\user 。 我建议使用集成安全性,而不是这个。



文章来源: Connecting to SQL Server over network using ADO from Excel VBA