小编CWi*_*son的帖子

连接到SQL Server时OLEDB/ODBC驱动程序之间有什么区别?

我有一个SQL Server数据库,我需要通过vbscript将数据推送到它,以及将数据拉入Excel.我找到了多个连接字符串,但是没有存储库可以比较它们的性能和功能.Provider=到目前为止我找到的驱动程序选项()是:

  • {SQL Server}(ODBC)
  • SQLOLEDB(比ODBC更新,但已被弃用?)
  • SQLOLEDB.1(Excel 2016在点击"获取外部数据"时使用的内容,但在connectionstrings.com上甚至没有提到......我假设上面的新版本,但仍然是不推荐使用的技术?)
  • SQLNCLI11(本机客户端,OLE DB)
  • {SQL Server Native Client 11.0}(本机客户端,ODBC)

我读到的不同的东西说ODBC更好,因为它已经存在更长时间.并且OLE DB已经存在足够长的时间以具有相同的优势.并且OLE DB可以与某个公司的应用程序一起使用.ODBC是由同一家公司制作的.OLE DB可以更好地连接到不同类型的应用程序.ODBC对数据库的效果更好.原生是......原生,所以必须更好......因为这个名字?

我发现这里有多个问题,没有或部分答案,或者有多个评论声称答案已经过时了.那么,截至目前,这些不同驱动因素之间的具体差异是什么?他们在不同情况下有不同的表现吗?他们有不同的功能吗?我是否需要进行性能分析以确定我的特定用例的最佳性能和可靠性,或者是否有Microsoft或某些公认的专家推荐的标准"最佳实践"?或者它们基本上都在做同样的事情,只要它安装在目标系统上并不重要吗?

sql-server oledb odbc

9
推荐指数
1
解决办法
1223
查看次数

在Excel VBA中使用MSXML2.XMLHTTP从网站中提取大量文本数据

我试图从finance.yahoo.com下载千年股票的历史股票价格数据.该网站仅在一个页面上显示60天的数据,因此我必须循环浏览我下载的时间段以及不同证券的循环.我使用以下代码访问相关页面.

Set httpObject = CreateObject("MSXML2.XMLHTTP")
httpObject.Open "GET", url, False
httpObject.send
webObject.body.innerHTML = httpObject.responseText
Run Code Online (Sandbox Code Playgroud)

这就像我访问的99%数据的魅力.但是,不时地,网站返回的对象都是空的,即使完全相同的URL会在Internet Explorer中显示正确的数据.如果我重新运行该URL的代码,则下次可能会或可能不会失败.

我想知道是否有更稳定/一致的方式使用上述方法.我之前已经实现了InternetExplorer.Application方法来下载数据,但发现它要慢得多,也很麻烦.

excel vba msxml html-content-extraction

8
推荐指数
1
解决办法
4万
查看次数

创建前端MDE

我创建了一个用于跟踪指标的数据库,其中包含一些自动化技巧(电子邮件,.doc,.ppt演示文稿等),其中包含一个非常大的主表,以及许多表单/ GUI.这是我第一次担心这个问题的MDE /前端.因此,如果你非常友好地回答几个问题,或者提出任何建议,我将非常感激(我讨厌所有这些工作都不被利用).

  • 我需要做的第一件事是什么?它是必须转换为03以创建MDE的2000版本,但是在我使用数据库拆分器之前完成了吗?

  • 数据库中的对象数量是否会影响执行此操作的能力?我有80个表单,70个查询,20多个宏,12个表等等......但是一旦前端在那里,对象的数量是否会阻止其中一些工作正常?

  • 当我分割数据库时,我可以继续在"后端"上工作/进行更改等,并让这些更改直接影响前端吗?

这些可能是一些基本问题,但我不知道答案所以.....谢谢!

database user-interface ms-access vba ms-office

2
推荐指数
1
解决办法
6426
查看次数

如何防止访问数据库在打开时进行修改和保存?

使用Access .accdb时,每次打开文件时,都会看到文件系统中的“修改日期”更改为现在。这让我感到紧张。我希望它停止。

我不可能是唯一一个保存过有效数据库的人,并在数周或数月后将其打开并出现错误。当然,我可能有备份和备份,表数据与代码分开保存,版本历史占用了数GB的文件系统,电子邮件或其他任何地方……但是,这仍然让我有些犹豫每当我看到未修改日期的打开更新,一段时间没有触摸数据库时。

我是否已将某个开关拨到某个位置以使其执行此操作?这是预期的行为吗?我该如何阻止它?

要复制此内容,请创建一个新的accdb,然后保存并关闭。在其中放上任何东西,什么也不要放,或者在创建之后仅将其关闭一秒钟。打开一个Windows资源管理器,查找accdb所在的目录,并记下修改后的日期值。在显示的日期修改文件之后至少一分钟打开文件。alt-tab回到资源管理器窗口,您会看到修改日期已更改。

ms-access ms-access-2016

1
推荐指数
1
解决办法
818
查看次数