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
コンテキスト内で) headがあります。
より一般的には:
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
。