如何检查 DatabaseLink`OpenSQLConnection 是否成功?我的代码如下
conn = OpenSQLConnection[JDBC["hsqldb", "file"], "Name"-> "test"];
我可以使用像 Head[conn] 这样的东西吗?
如何检查 DatabaseLink`OpenSQLConnection 是否成功?我的代码如下
conn = OpenSQLConnection[JDBC["hsqldb", "file"], "Name"-> "test"];
我可以使用像 Head[conn] 这样的东西吗?
这不完全是您问题的答案,但这是我为了可靠地连接到我的数据库所做的:
Needs["DatabaseLink`"];
CloseSQLConnection[conn];
TimeConstrained[
conn=OpenSQLConnection[ JDBC["mysql","localhost:3306/mydb"],
"Username"->"myuser",
"Password"->"mypw"],
5,
CloseSQLConnection[conn];
conn=OpenSQLConnection[ JDBC["mysql","localhost:3306/mydb"],
"Username"->"myuser",
"Password"->"mypw"]
];
成功连接的返回值将有头SQLConnection
(在DatabaseLink
上下文中)
更普遍:
OpenSQLConnection
$Failed
当连接因任何原因失败时返回 :
In[25]:= OpenSQLConnection[JDBC["mysql", "localhost:3306/foo"],
"Username" -> "foo", "Password" -> "bar"]
During evaluation of In[25]:= JDBC::error: Access denied for user 'foo'@'localhost' (using password: YES) >>
Out[25]= $Failed
...并且当它的论点不是正确的形式时未评估:
In[28]:= OpenSQLConnection[Sin[x]]
Out[28]= OpenSQLConnection[Sin[x]]
因此,您可以查找 的返回值,$Failed
也可以选择使用它Check[...]
来捕获和处理生成的消息。如您所料,您可以使用Head[returnvalue]
来确保返回值的头部不等于OpenSQLConnection
。