nsis nsODBC 插件不接受所有参数
nsis nsODBC plugin not accepting all parameters
我正在使用 NSIS nsODBC 插件创建一个 systemdsn 条目。
当我调用如下所示的命令时,它会工作并创建我的系统 dsn odbc。
nsODBC::AddSysDSN "ODBC Driver 11 for SQL Server" "DSN=test" "server=localhost" "DATABASE=test" "Trusted_Connection=Yes"
Pop [=10=]
Pop $0 Returns "Successful" 在我的 ODBC 数据源管理器中,我看到了我的连接并且它有效。
但我需要使用用户名和密码创建我的系统 dsn,在论坛和网站上我看到他们说它应该如下所示:
nsODBC::AddSysDSN "ODBC Driver 11 for SQL Server" "DSN=test" "server=test" "DATABASE=test" "UID=test" "PWD=test"
Pop [=11=]
当我 运行 此命令弹出 $0 returns 文本 "error" 并且没有创建系统 dsn。
我已经检查了 SQL 服务器实例,它有测试数据库,一个名为 test 的登录帐户,它是一个系统管理员帐户,它处于混合模式身份验证。
关于我做错了什么关于为什么它不会创建带有用户名和密码的系统 dsn 的任何建议?
提前致谢
安迪
那个plug-in设计得很糟糕,因为它使用堆栈上的所有东西作为它的参数。它也是数据库 API 的一个非常薄的包装器,所以只要在调用之前您的堆栈是空的,那么问题很可能是 missing/wrong 参数而不是 plug-in 中的错误。
使用 "foo=1" "bar=baz"
之类的参数调用插件被“翻译”为 foo=1[=11=]bar=baz[=11=][=11=]
,这是您在 MSDN 上看到的,即 C/C++ 终止双空的语法key-pair 字符串.
为什么 Server
设置为 test
而不是 localhost
?
ConfigDSN
的 MSDN 页面上列出的代码说:
For example, to configure a data source that requires a user ID, password, and database name, a setup application might pass the following keyword-value pairs:
DSN=Personnel Data[=16=]UID=Smith[=16=]PWD=Sesame[=16=]DATABASE=Personnel[=16=][=16=]
也许配对顺序很重要,我不知道。
我正在使用 NSIS nsODBC 插件创建一个 systemdsn 条目。
当我调用如下所示的命令时,它会工作并创建我的系统 dsn odbc。
nsODBC::AddSysDSN "ODBC Driver 11 for SQL Server" "DSN=test" "server=localhost" "DATABASE=test" "Trusted_Connection=Yes"
Pop [=10=]
Pop $0 Returns "Successful" 在我的 ODBC 数据源管理器中,我看到了我的连接并且它有效。
但我需要使用用户名和密码创建我的系统 dsn,在论坛和网站上我看到他们说它应该如下所示:
nsODBC::AddSysDSN "ODBC Driver 11 for SQL Server" "DSN=test" "server=test" "DATABASE=test" "UID=test" "PWD=test"
Pop [=11=]
当我 运行 此命令弹出 $0 returns 文本 "error" 并且没有创建系统 dsn。
我已经检查了 SQL 服务器实例,它有测试数据库,一个名为 test 的登录帐户,它是一个系统管理员帐户,它处于混合模式身份验证。
关于我做错了什么关于为什么它不会创建带有用户名和密码的系统 dsn 的任何建议?
提前致谢 安迪
那个plug-in设计得很糟糕,因为它使用堆栈上的所有东西作为它的参数。它也是数据库 API 的一个非常薄的包装器,所以只要在调用之前您的堆栈是空的,那么问题很可能是 missing/wrong 参数而不是 plug-in 中的错误。
使用 "foo=1" "bar=baz"
之类的参数调用插件被“翻译”为 foo=1[=11=]bar=baz[=11=][=11=]
,这是您在 MSDN 上看到的,即 C/C++ 终止双空的语法key-pair 字符串.
为什么 Server
设置为 test
而不是 localhost
?
ConfigDSN
的 MSDN 页面上列出的代码说:
For example, to configure a data source that requires a user ID, password, and database name, a setup application might pass the following keyword-value pairs:
DSN=Personnel Data[=16=]UID=Smith[=16=]PWD=Sesame[=16=]DATABASE=Personnel[=16=][=16=]
也许配对顺序很重要,我不知道。