尝试从Access将数据导入SQL Server

时间:2017-04-16 21:24:21

标签: sql-server tsql

我在下面尝试了这个小脚本。

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')

现在,我认为这样可行,但我收到一条错误消息: Msg 102,Level 15,State 1,Line 6 'EXCEL-PC \ SQLEXPRESS'附近的语法不正确。

我认为问题可能是' - '字符或'\'字符。不幸的是,这是服务器机器的名称,它可能不会改变。如果有这种方法的解决方法,或者我只是运气不好这种设置?

感谢大家!

1 个答案:

答案 0 :(得分:1)

EXCEL-PC\SQLEXPRESS不是字符串文字:

试试这个:

SELECT *
FROM OPENQUERY([EXCEL-PC\SQLEXPRESS], 'SELECT * FROM Table1')