0

私が取り組んでいるこのasp.netアプリケーションのために、このパーベイシブサーバーに接続するのに最も苦労しています。現在、Visual Studioのサーバーエクスプローラーで接続文字列を使用してデータベース全体にアクセスして表示できますが、実際に実行するとエラーが発生します。これが私のコードです:

    String myConnectionString = 
        "Driver={Pervasive ODBC Client Interface};servername=192.168.1.2;dbq=@Live;";
    OdbcConnection myConnection = new OdbcConnection(myConnectionString);
    OdbcCommand command = new OdbcCommand(myConnectionString, myConnection);

    try
    {
        myConnection.Open();
        OdbcDataReader reader = command.ExecuteReader();


        reader.Close();
        command.Dispose();
        myConnection.Close();
    }
    catch (OdbcException ex)
    {
        System.Diagnostics.Trace.WriteLine(ex.Message);
    }

実行時に発生するエラーは次のとおりです。

エラー[42000][パーベイシブ][ODBCクライアントインターフェイス][LNA][パーベイシブ][ODBCエンジンインターフェイス]構文エラー:ドライバー<< ??? >>={パーベイシブODBCクライアントインターフェイス}

私は今、ちょっと必死になっているので、それがただの野蛮な推測であるとしても、どんな助けでも大いに感謝されるでしょう。

ありがとう

4

2 に答える 2

3

この線 :

OdbcCommand command = new OdbcCommand(myConnectionString, myConnection);

SQL ステートメントが含まれている必要があります。

OdbcCommand command = new OdbcCommand("select * from table", myConnection);

接続文字列ではなく。ExecuteReader 行を呼び出すと、SQL エンジンは有効な SQL ステートメントではない接続文字列を実行しようとします。

于 2011-05-31T19:25:58.863 に答える
2

私は常に Pervasive ADO.NET Data Provider を使用していました。データベース エンジンと一緒にインストールする必要がありますが、インストールされていない場合は、http: //www.pervasivedb.com/psqlv11/pages/default.aspxからダウンロードできます。

多くの例も彼らのウェブサイトで入手できます。

また、接続文字列を基本的な形式に変更し、DSN を使用してみてください。

ServerDSN=DSNData;UID=username;PWD=password;Server=SERVERNAME

この設定で問題はありませんでした。

于 2011-05-31T18:08:03.113 に答える