0
我试过下面这个小脚本。试图从Access导入数据到SQL Server
USE [Test]
GO
/****** Object: StoredProcedure [dbo].[Import_From_Access] Script Date: 4/16/2017 5:13:19 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[Import_From_Access]
AS
BEGIN
SET NOCOUNT ON;
EXEC sp_addlinkedserver
@server = 'EXCEL-PC\SQLEXPRESS',
@provider = 'Microsoft.Jet.OLEDB.4.0',
@srvproduct = 'OLE DB Provider for Jet',
@datasrc = 'C:\Users\Excel\Desktop\Coding\Microsoft Access\Northwind.mdb'
EXEC sp_addlinkedsrvlogin 'EXCEL-PC\SQLEXPRESS', FALSE, Null, Admin, Null
END
然后运行它,我想这:
SELECT *
FROM OPENQUERY('EXCEL-PC\SQLEXPRESS', 'SELECT * FROM Table1')
现在,我认为这会工作,但我收到一条错误信息: 消息102,15级,状态1,行6 “EXCEL-PC \ SQLEXPRESS”附近的语法错误。
我在想这个问题可能是' - '字符或'\'字符。不幸的是,这是服务器机器的名称,它可能不会改变。如果有这种事情的解决办法,或者我只是运气好这种设置?
谢谢大家!
哦,我,我太愚蠢有时。是的,是的,是的,基本上工作。我只是跑这个:SELECT * FROM OPENQUERY([EXCEL-PC \ SQLEXPRESS],'SELECT * FROM Table1') 现在,我收到此消息: Msg 7411,Level 16,State 1,Line 5 Server' EXCEL-PC \ SQLEXPRESS'未配置为数据访问。 – ryguy72
实际上,我认为这是因为Access是32位而SQL Server是64位的。我认为这是问题。下面的链接应该有助于解决问题。 https://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=13255 – ryguy72