0

PHP 5.3 を使用して Windows 2003 Server 上の Sage Timberline Accounting データベースに接続しようとしています。PHP を IIS と共に fastcgi として正しくインストールしました。ODBC マネージャーでシステム DSN をセットアップし、Timberline データベース用に正しく構成しました。

これが私のPHPスクリプトです。

<?php

$conn = odbc_connect("Timberline ODBC","user", "password");

?>

次のエラーが表示されます。

警告: odbc_connect(): SQL エラー: [Sage Timberline Office][Sage Timberline Office ODBC Driver][DRM File Library]無効なアカウント名。C:\Inetpub\wwwroot\index.php の 3 行目の SQLConnect で SQL 状態 08001

Timberline の有効なユーザー名とパスワードの組み合わせを試しても問題ありません。

誰でも助けることができますか?

4

5 に答える 5

2

これがまだ問題かどうかはわかりませんが...しかし、パーベイシブ SQL 接続は、他の情報へのインデックス参照を持つインデックス ファイルへの接続であることに気付きましたか? フラット ファイル データベース構造としてよく知られています。

そのため、接続を確立するための明確な方法はありません。私は、MSSQL サーバーを Timberline データベースにブリッジするという同様の問題に取り組んでいますが、あなたが思っているほど明確ではありません。

Timberline Driver を Web サーバーまたは問題のアプリケーションにロードして使用しようとしましたか? Sage では、この情報へのアクセスがまったく簡単ではありませんでした。このアプリケーション スイートについて 2 セントでも言いたいことがあるとすれば、どんな犠牲を払っても反対することをお勧めします。

これまでのところ、VS2k5 経由で機能する接続文字列は次のとおりです。これは DSN 文字列ですが、それでもなお接続文字列です。私が抱えている問題は、接続文字列から DSN 部分を分離し、正しく動作させることです。

DSN=<whatever>;uid=<userid>;dbq=<PathToDirectory>;codepage=1252;
maxcolsupport=1536;dictionarymode=0;standardmode=0;shortennames=1;databasetype=1

これは ADO で動作するはずですが、正しく動作しません。

Provider=MSDASQL.1;Driver={Timberline Data};dbq=<PathToDirectory>;
uid=<userid>;pwd=<password>;codepage=1252
于 2011-04-12T17:06:18.130 に答える
-1

この種のエラーでは、1 つの Windows プロファイルのみが DSN 名で登録されているか、または登録されていることを確認する必要がある場合があります。つまり、同じ DSN 名で (同じコンピューター/サーバーに) 登録されているプロファイルが他にもある場合、これがエラーの原因である可能性が最も高くなります。

于 2014-08-15T05:58:10.660 に答える