我无法连接到我们的 postgres 服务器。我得到了用于将ms访问连接到我们的SQL Server的代码。它应该是 * 无DSN *,我已经安装了一个ODBC-driver
,现在我坚持寻找正确的连接字符串写入访问' vba代码。
我知道应该是这样的:
stConnect = "ODBC;Driver={PostgreSQL UNICODE};Data Provider=pgsqlODBC;hostaddr=[IP-adress];Port=61000;dbname=TE_TestFirst;user=admin;password=testtest;"
字符串
或者像这样:
stConnect = "ODBC;Driver={PostgreSQL UNICODE};Data Provider=pgsqlODBC;SERVER=[IP-adress];PORT=61000;DATABASE=TE_TestFirst;UID=admin;PWD=testtest;"
型
我读到64 Bit-Pcs需要被赋予“数据提供者”。然而,除了我们不想要的DSN版本之外,什么都不起作用。我从各个方面复制了无数的连接线,也许我在监督什么?
我期待着你的答复,并提前感谢你。布丁勒费尔
5条答案
按热度按时间balp4ylt1#
我找到了一种在MS Access模块中创建User-DSN的方法,然后使用该模块连接到服务器。这不是很漂亮的代码,但它工作。对于那些寻找类似解决方案的人:
字符串
正如你所看到的,信息被嵌入了两次,我真的不喜欢,但目前还可以。您可以使用ODBC管理器检查已创建的DSN。
你可以在这里找到原始代码
此外,这个code是我们从服务器到MS Access获取表的方式。虽然这个例子是关于SQL Server的,但它在PostgreSQL上也能很好地工作!(正如我现在看到的,这方面也提供了一个关于创建DSN的解决方案)
xesrikrc2#
大概是这样的:
字符串
oaxa6hgo3#
我还没能用一个没有DSN的连接字符串解决这个问题,但是用一个
DSN file
,就像@Erik货车Asmuth和@krish KM说的那样。DSN文件位于我的Documents文件夹中(ODBC管理员将其自动保存在此文件夹中。你可以把它移动到任何地方,但是你必须写路径而不是文件名)
我通过MS Access中的
VBA Code
打开它,连接字符串如下:字符串
Access得到一个连接并加载表
TE-TestFirst
。再次感谢你们。我现在将尝试通过没有文件的连接字符串进行连接zpgglvta4#
最后,我们做了以下工作:
使用如上所示的连接字符串“PostgreSQL Unicode(x32)”+使用different script连接到
它现在工作得很好,没有DSN:)
j2datikz5#
Office 365的变化以前好像比现在容易多了。我觉得这让人抓狂,唯一真实的的暗示来自@Andrey-Belykh的回应。
这是我发现的真正有效的方法
在“外部数据”->“链接表管理器”下,单击“添加”。弹出以下对话框:
x1c 0d1x的数据
选择底部选项“自定义”。
然后这个令人抓狂的没有帮助的对话框没有任何文档(或者显示在线帮助):
的
要知道您放了什么,您需要ODBC驱动程序的准确描述--现有的ODBC连接对此有很大的帮助。并且描述需要在花括号内:
的
因此,在这种情况下,连接字符串以以下开头:
字符串
数据源路径可以简单地是“ODBC”,在
DRIVER=
语句之后,您可以放入实际的连接字符串:的
从那里弹出一个普通的对话框,其中包含每个表和视图。
我希望这能帮助到一些人,为他们节省我刚刚浪费在想办法解决这个问题上的时间。