linux - 无法在 Ubuntu 16.04 上使用 Go 连接到 NetSuite ODBC
问题描述
我是第一次使用 NetSuite ODBC,我很难连接到它。我已经安装了驱动程序,但是当我尝试连接时,这是我得到的:
SQLDriverConnect: {01000} [unixODBC][Driver Manager]Can't open lib '/opt/netsuite/odbcclient/lib64/ivoa25.so' : file not found
如果我执行ldd /opt/netsuite/odbcclient/lib64/ivoa25.so
这就是我得到的:
linux-vdso.so.1 => (0x00007ffd9f94d000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fbefbdb0000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fbefbbac000)
libicuuc.so.42 => not found
libicudata.so.42 => not found
libpam.so.0 => /lib/x86_64-linux-gnu/libpam.so.0 (0x00007fbefb99e000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fbefb781000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fbefb3f5000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fbefb0ec000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fbefaed4000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fbefab0a000)
/lib64/ld-linux-x86-64.so.2 (0x00007fbefc35e000)
libaudit.so.1 => /lib/x86_64-linux-gnu/libaudit.so.1 (0x00007fbefa8e3000)
not found
目录中存在标记为的那两个文件/opt/netsuite/odbcclient/lib64
,我不确定为什么它们标记为not found
.
odbcinst -j
unixODBC 2.3.1
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
USER DATA SOURCES..: /home/alen/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8
cat /etc/odbc.ini
[ODBC Data Sources]
NetSuite=NetSuite ODBC Drivers 7.2
[NetSuite]
Driver=/opt/netsuite/odbcclient/lib64/ivoa25.so
Description=Connect to your NetSuite account
Host=####
Port=####
ServerDataSource=######
Encrypted=1
Truststore=/opt/netsuite/odbcclient/cert/ca.cer, /opt/netsuite/odbcclient/cert/ca2.cer, /opt/netsuite/odbcclient/cert/ca3.cer
CustomProperties=AccountID=####;RoleID=####
[ODBC]
Trace=0
IANAAppCodePage=4
TraceFile=odbctrace.out
TraceDll=/opt/netsuite/odbcclient/lib64/ddtrc25.so
InstallDir=/opt/netsuite/odbcclient
解决方案
我遇到过同样的问题。设置环境变量LD_LIBRARY_PATH
就可以解决问题。如果您将 netsuite 提取的文件放入其中,它将起作用/opt/netsuite/odbcclient
export LD_LIBRARY_PATH="/opt/netsuite/odbcclient/lib64${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"
此外,请考虑 netsuite 驱动程序与 Ubuntu 12.04 兼容,因此它可能存在其他问题。
推荐阅读
- c++ - 如何更喜欢 AddFontMemResourceEx 加载的字体而不是系统?
- amazon-web-services - 描述任务定义不返回主机名值
- python - 如果我使用 pycuda 将数组传递给 GPU 然后打印它,为什么它打印零?
- python - 如果选择排序和冒泡排序算法的成本都是 O(N2) 那么为什么这没有反映在我的代码中?
- reactjs - 为什么我收到没有唯一密钥的警告?
- python - 当浏览器中有多个使用 python selenium 滚动条的窗口时,如何向下滚动
- google-cloud-platform - 如何从大查询表中删除字段?
- flutter - Flutter Image.memory() 函数不适用于我,它只显示白色图像
- floating-point - 在幂函数中使用负浮点数时出现错误
- javascript - 如何按特定顺序保持一组堆叠的条形图