2

DatabaseLink`OpenSQLConnectionが成功したかどうかを確認するにはどうすればよいですか?私のコードは次のとおりです

conn = OpenSQLConnection[JDBC["hsqldb", "file"], "Name"-> "test"];

Head [conn]のようなものを使用できますか?

4

2 に答える 2

2

これはあなたの質問に対する正確な答えではありませんが、これは私のデータベースに確実に接続するために私が行うことです。

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"]
];
于 2010-03-24T21:38:24.057 に答える
2

正常に接続された場合の戻り値に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

于 2010-03-25T17:31:29.587 に答える