允许共享驱动器上的其他人使用 access odbc 连接
Allow others on shared drive to use access odbc connection
我有一个包含 ADD 和 UPDATE 查询的 Access 文件,该文件链接到某种 SQL 数据库(Orderwise)。我正在构建报告和其他东西,但我们公司的其他人最终会使用它 - 可能是各种各样的人 - 因此我把它放在共享驱动器上。
然而,当我从另一台计算机访问它时(试图向 Ops 经理演示)它失去了与 SQL 数据库的连接,尽管两台计算机都可以访问该驱动器。我对此很陌生,但我认为它所依赖的 ODBC 文件/连接位于构建数据库的计算机中的某个位置 - 错误消息是 ODBC connection to 'Orderwise 2' failed.
.
我已经尝试研究它但没有发现任何非常确定的东西,它似乎涉及 .mdb 文件但我不知道它们在哪里,并且通过控制面板设置搜索没有给出将 odbc 移动到共享驱动器的选项。
如何共享此数据库以便共享驱动器上的每个人都可以使用实时数据连接?
下面是连接 SQL 数据库和 运行 命令的代码。
Private Sub cmdTest_Click()
'Add reference Microsoft ActiveX Data Objects 2.1 Library
'Fix SQL Server Connection ERROR! See below link
'https://blog.sqlauthority.com/2009/05/21/sql-server-fix-error-provider-named-pipes-provider-error-40-could-not-open-a-connection-to-sql-server-microsoft-sql-server-error/
'Declare variables'
Dim objMyConn As ADODB.Connection
Dim objMyCmd As ADODB.Command
Dim objMyRecordset As ADODB.Recordset
Set objMyConn = New ADODB.Connection
Set objMyCmd = New ADODB.Command
Set objMyRecordset = New ADODB.Recordset
Dim strEmpID As String, strEmpName As String
Dim JoiningDate As Date
Dim eSalary As Integer
Dim myRate As Double
'Open Connection'
objMyConn.ConnectionString = "Provider=SQLOLEDB;Data Source=192.168.0.150;User ID=sa;Password=saDBpassword;"
objMyConn.Open
'Another provider
'Provider=sqloledb;Data Source=192.168.0.150,1433;Network Library=DBMSSOCN;Initial Catalog=pubs;User ID=myUsername;Password=myPassword;
'Set and Excecute SQL Command'
Set objMyCmd.ActiveConnection = objMyConn
' Insert data to SQL Database table.
strEmpID = InputBox("Enter Employee ID:", "Employee ID", "HO-300")
strEmpName = InputBox("Enter Employee Name:", "Employee Name", "Mr. SQL")
JoiningDate = InputBox("Enter Joining Date:", "Joining Date", Date)
eSalary = InputBox("Enter Salary:", "Salary", 10000)
myRate = InputBox("Enter Rate:", "Rate", 11.11)
objMyCmd.CommandText = "INSERT INTO [TestDB].[dbo].[tblEmpInfo] (EmpID, EmpName, jDate, Salary, HourRate) Values('" _
& strEmpID & "', '" _
& strEmpName & "', '" _
& JoiningDate & "', " _
& eSalary & ", " _
& myRate & ")"
objMyCmd.CommandType = adCmdText
objMyCmd.Execute 'Execute SQL command
End Sub
您必须添加 ActiveX Data Objects 2.5 Library
以供参考。我正在使用 MS-Access-2013
。对象引用可能因 MS-Access 版本而异。
请仔细阅读本文以排除网络服务障碍。 SQL Server Fix Error.
我有一个包含 ADD 和 UPDATE 查询的 Access 文件,该文件链接到某种 SQL 数据库(Orderwise)。我正在构建报告和其他东西,但我们公司的其他人最终会使用它 - 可能是各种各样的人 - 因此我把它放在共享驱动器上。
然而,当我从另一台计算机访问它时(试图向 Ops 经理演示)它失去了与 SQL 数据库的连接,尽管两台计算机都可以访问该驱动器。我对此很陌生,但我认为它所依赖的 ODBC 文件/连接位于构建数据库的计算机中的某个位置 - 错误消息是 ODBC connection to 'Orderwise 2' failed.
.
我已经尝试研究它但没有发现任何非常确定的东西,它似乎涉及 .mdb 文件但我不知道它们在哪里,并且通过控制面板设置搜索没有给出将 odbc 移动到共享驱动器的选项。
如何共享此数据库以便共享驱动器上的每个人都可以使用实时数据连接?
下面是连接 SQL 数据库和 运行 命令的代码。
Private Sub cmdTest_Click()
'Add reference Microsoft ActiveX Data Objects 2.1 Library
'Fix SQL Server Connection ERROR! See below link
'https://blog.sqlauthority.com/2009/05/21/sql-server-fix-error-provider-named-pipes-provider-error-40-could-not-open-a-connection-to-sql-server-microsoft-sql-server-error/
'Declare variables'
Dim objMyConn As ADODB.Connection
Dim objMyCmd As ADODB.Command
Dim objMyRecordset As ADODB.Recordset
Set objMyConn = New ADODB.Connection
Set objMyCmd = New ADODB.Command
Set objMyRecordset = New ADODB.Recordset
Dim strEmpID As String, strEmpName As String
Dim JoiningDate As Date
Dim eSalary As Integer
Dim myRate As Double
'Open Connection'
objMyConn.ConnectionString = "Provider=SQLOLEDB;Data Source=192.168.0.150;User ID=sa;Password=saDBpassword;"
objMyConn.Open
'Another provider
'Provider=sqloledb;Data Source=192.168.0.150,1433;Network Library=DBMSSOCN;Initial Catalog=pubs;User ID=myUsername;Password=myPassword;
'Set and Excecute SQL Command'
Set objMyCmd.ActiveConnection = objMyConn
' Insert data to SQL Database table.
strEmpID = InputBox("Enter Employee ID:", "Employee ID", "HO-300")
strEmpName = InputBox("Enter Employee Name:", "Employee Name", "Mr. SQL")
JoiningDate = InputBox("Enter Joining Date:", "Joining Date", Date)
eSalary = InputBox("Enter Salary:", "Salary", 10000)
myRate = InputBox("Enter Rate:", "Rate", 11.11)
objMyCmd.CommandText = "INSERT INTO [TestDB].[dbo].[tblEmpInfo] (EmpID, EmpName, jDate, Salary, HourRate) Values('" _
& strEmpID & "', '" _
& strEmpName & "', '" _
& JoiningDate & "', " _
& eSalary & ", " _
& myRate & ")"
objMyCmd.CommandType = adCmdText
objMyCmd.Execute 'Execute SQL command
End Sub
您必须添加 ActiveX Data Objects 2.5 Library
以供参考。我正在使用 MS-Access-2013
。对象引用可能因 MS-Access 版本而异。
请仔细阅读本文以排除网络服务障碍。 SQL Server Fix Error.