有没有办法在不使用ODBC的情况下使用Perl连接到MS SQL数据库?我在生产环境中运行了一些脚本,我打算将其迁移到perl。
使用的样本SQLCMD:
sqlcmd -S <dbHostName> -i <input_file> -o <output_file>
使用的样本BCP:
bcp <sqlQuery> queryout <output_file> -c -t, -T -S <dbHostName>
主要原因是我不知道我的生产数据库的密码,我不知道它。因此,无论是在我的perl脚本中还是通过ODBC设置,我都无法传递密码短语。
答案 0 :(得分:0)
我注意到您的-U
声明不包含-P
和Trusted_Connection=True;
。这意味着它使用登录用户的凭据来访问数据库。
使用ODBC&amp; amp; DBI,在连接字符串中包含SQL Server
。这类似于使用“使用网络登录ID进行Windows NT身份验证”。 DSN设置向导第二页上的单选按钮。
例如,在我的Win 8.1框中,{{1}}是我的ODBC数据源管理界面中相关驱动程序(不是DSN)的名称,我可能会给出DBI连接方法以下字符串:
dbi:ODBC:Driver = {SQL Server}; Server = myServerAddress; Database = myDataBase; Trusted_Connection = True;
相比之下,使用DSN的字符串可能如下所示:
DBI:ODBC:myDSN
FWIW:我发现http://connectionstrings.com是宝贵的资源。