使用 OLE 时如何绕过 MS Access 启动?
我正在尝试使用 C# 和 OLE 从 Access 数据库自动导出 xml。 除了显示启动表单并且在没有用户干预的情况下不会关闭之外,一切都运行良好。
这是我到目前为止正在做的事情:
objAccess = CreateObject("Access.Application");
objAccess.OpenCurrentDatabase("C:\\MYDB.mdb", true); //true = open in exclusive mode
objAccess.ExportXML(0, "TestTable", "c:\\test.xml");
objAccess.CloseCurrentDatabase();
objAccess.Quit();
I am trying to do an automated xml export from an access database using C# and OLE. Everything is working perfectly except that the startup form is shown and won't close without user intervention.
Here's what I am doing so far:
objAccess = CreateObject("Access.Application");
objAccess.OpenCurrentDatabase("C:\\MYDB.mdb", true); //true = open in exclusive mode
objAccess.ExportXML(0, "TestTable", "c:\\test.xml");
objAccess.CloseCurrentDatabase();
objAccess.Quit();
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
无需打开 Access 即可将表输出为 XML,例如,在 VBScript 中:
It should not be necessary to open Access to output a table to XML, for example, in VBScript:
据我所知,唯一的方法是使用 msaccess.exe 上的 /nostartup 开关
所以你必须使用 shell 命令来获取访问对象
我有一个打开数据库并返回对象的函数(这是你可以使用的 VBA 代码)必须转换为 C#)
编辑:
这里有一个链接,指向一些执行类似操作的 VB.NET 代码。 向下滚动到“创建完整示例 Visual Basic .NET 项目”并查找“ShellGetDB”函数
As far as I know the only way is to use the /nostartup switch on msaccess.exe
So you have to use shell command to get the access object
I have a function that opens a database and returns the object (This is VBA code which you will have to convert to C#)
EDIT:
Here's a link to some VB.NET code that does a similar thing. Scroll down to "Create the Complete Sample Visual Basic .NET Project" and look for the "ShellGetDB" function