【发布时间】:2012-02-06 15:34:30
【问题描述】:
我有两台计算机,安装了两台(表面上)相同的 SQL Server Express 2008 R2,均运行 Windows 7 64 位。在一台计算机上(称为“红色”),我可以执行以下数学代码来打开与数据库的连接并读取数据
Needs["DatabaseLink`"]
conn = OpenSQLConnection[
JDBC[
"Microsoft SQL Server(jTDS)",
"localhost"],
"Instance" -> "SQLExpress"]
我在c:\windows\system32\ntlmauth.dll 中安装了用于sql server 的jTDS 驱动程序。我将 dll 从工作机器“红色”复制到非工作机器“黑色”。
我使用 SQL-Server 导入和导出工具将一个非常简单的数据库从“红色”转换为“黑色”,并通过在“黑色”上运行 LinqPad 并读取数据来验证该数据库是否可以访问。都很好。
现在,我尝试在“黑色”上运行上面的 Mathematica 代码,我收到一条无法诊断的错误消息,即:
JDBC::error: "!(TraditionalForm`\"网络错误IOException: Connection refused: connect\") "
我只知道这将是本地服务帐户或网络服务帐户的噩梦般的权限问题之一。我在“黑色”机器上没有 Sql-Server Management Studio,我无法找到合适的 SSMS 版本来安装 SQL Server 2008 R2 Express(没有安装 SSMS Express 2008 版本,理由是“已知的兼容性问题”。 ) 我并没有真正想念 SSMS,因为 LinqPad 可以很好地完成我的开发任务。
我不知道如何诊断或解决方法或以任何方式继续 - 我完全被阻止,非常感谢您的建议或指导。
【问题讨论】:
-
我正在尝试重现您的问题:您使用 32 位版本的“SQL Server 2008 R2 Express”还是 64 位版本(他们在这里为您提供选择:microsoft.com/betaexperience/pd/SQLEXP08V2/enus)
-
64 位版本的 sql server 2008 r2 express,我很确定 sp1。它也是 ntlmauth.dll 的 64 位版本。
标签: jdbc wolfram-mathematica sql-server-2008r2-express