如何使用 Microsoft Access 导入/附加 SQL Server Compact Edition 表/关系?

发布于 2024-09-08 16:21:43 字数 98 浏览 1 评论 0原文

我需要将 Sql Server CE 数据库移至 MS Access,以便熟悉 Access 的用户可以对数据运行查询。有没有免费的方法可以做到这一点?

谢谢! 大卫

I need to move my Sql Server CE database into MS Access, so my users who are familiar with Access can run queries on the data. Is there a free way to do that?

Thanks!
David

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

暖树树初阳… 2024-09-15 16:21:43

您有两个选择,可以将数据导入到 access 中,也可以链接 access 中的表,以便数据保留在 SQL CE 中并且仅由 access 引用。

我不认为 access 可以直接导入它,因此您必须使用 Windows 中的 ODNC 管理程序与您的 CE 文件建立 ODBC 连接。完成后,您可以继续下一步

在文件菜单上获取外部数据,然后根据您想要的选项导入或链接,在下一个对话框中选择 ODBC 数据库作为文件类型,然后选择 ODBC您刚刚建立的连接。

按照屏幕上的提示进行操作,罗伯茨是你母亲的兄弟

编辑:

抱歉,是的,我的意思是 ODBC,我的手指肯定在键盘上滑倒了。无论如何,是的,看起来 ODBC 驱动程序不存在,但是 OLEDB 驱动程序存在,因此您可以使用 ADO 在代码中打开数据库,并在那里对其进行操作或循环遍历每个表并将其插入到您之前创建的访问表中。下面是一些代码,显示如何在 VBA 中打开 SQL CE 记录集

Sub test()
Dim pConn As ADODB.Connection
Dim pRS As ADODB.Recordset
Set pConn = New ADODB.Connection
Dim cmd As New ADODB.Command
Set pRS = New ADODB.Recordset
' For 3.0 use PROVIDER=Microsoft.SQLSERVER.MOBILE.OLEDB.3.0
pConn.ConnectionString = 
"PROVIDER=Microsoft.SQLSERVER.CE.OLEDB.3.5;Data Source=C:\Northwind.sdf"
pConn.Open

cmd.ActiveConnection = pConn
cmd.CommandText = "SELECT * FROM Products"
Set pRS = cmd.Execute
' Open the recordset
While Not pRS.EOF
    Debug.Print pRS(0)
    Debug.Print pRS(1)
    pRS.MoveNext
Wend
End Sub

You have two options, you can either import the data into access or link the tables in access so the data stays in SQL CE and is just referenced by access.

I don’t think access can import it directly so you will have to make an ODBC connection to your CE file using the ODNC admin program in windows. Once you have done that you can move onto the next step

On the file menu go to get external data and then either import or link depending on what option you want, on the next dialog box select ODBC databases as the file type and select the ODBC connection you just made.

Follow the on screen prompts from there and Roberts your mothers brother

EDIT:

Sorry yes I did mean ODBC, my finger must have slipped on the keyboard. Anyway Yes it looks like the ODBC driver does not exist however a OLEDB driver does so you could open up the database in code using ADO and either manipulate it there or loop through each table and insert it into an access table you created earlier. Here is some code showing how to open a SQL CE recordset in VBA

Sub test()
Dim pConn As ADODB.Connection
Dim pRS As ADODB.Recordset
Set pConn = New ADODB.Connection
Dim cmd As New ADODB.Command
Set pRS = New ADODB.Recordset
' For 3.0 use PROVIDER=Microsoft.SQLSERVER.MOBILE.OLEDB.3.0
pConn.ConnectionString = 
"PROVIDER=Microsoft.SQLSERVER.CE.OLEDB.3.5;Data Source=C:\Northwind.sdf"
pConn.Open

cmd.ActiveConnection = pConn
cmd.CommandText = "SELECT * FROM Products"
Set pRS = cmd.Execute
' Open the recordset
While Not pRS.EOF
    Debug.Print pRS(0)
    Debug.Print pRS(1)
    pRS.MoveNext
Wend
End Sub
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文