2

私が欲しいのは、ファイルが同じディスク上にあるASAデータベースから読み取ることができるCD(または他の外部ディスク)から実行されるWindows上で実行されるPowerbuilderアプリケーションです。しかし、ODBCまたはOLEDBドライバーを展開せずにこれを実行したいと思います。つまり、ドライバファイルをクライアントのハードディスクにコピーしたり、レジストリエントリを追加したりする必要はありません。これは可能ですか?

PowerbuilderとASAのドキュメントでは、「組み込みデータベース接続」について言及されており、おそらく接続文字列でデータベースサーバーの実行可能ファイルを指定できます。しかし、それは助けにはなりませんでした。

4

3 に答える 3

2

データベースに接続しようとして、トランザクション オブジェクトの DBMS プロパティに「ODBC」が指定されている場合、PowerBuilder はドライバのロードを開始し、ドライバの情報を得るために ODBC データソースを探します。

私が試してみることができる唯一のことは、実行時にすべてのレジストリ エントリを作成し、CD 上のドライバ ファイルと .db ファイルを指すようにすることです。CD 上のファイル ベースのデータソースを使用すると、作業が簡単になる場合がありますが、ドライバーの詳細をセットアップするためにレジストリ エントリを作成する必要があります。次に、アプリケーションを切断/閉じるときに、これらのエントリをすべて削除できます。レジストリ エントリなしでこれを完全に行うことはできないと思います。

于 2010-08-25T22:42:50.830 に答える
1

ODBC ドライバーを展開する必要があります。これが、PB が SQL Anywhere と対話する方法です。ただし、DNS エントリを作成する必要はありません。DNSless 接続を使用できます。

http://www.carlprothman.net/Default.aspx?tabid=90#ODBCDriverForSybaseSQLAnywhere

于 2010-10-10T16:06:43.957 に答える
0

あなたはあまりフィードバックを得ていないので、私はこれを提供しようと思いました. 私はこれを MS Access で行いましたが、MS Access の方がはるかに簡単に接続でき、ほとんどの Windows PC はファイル ベースの DSN 経由で接続できます。

ASAでファイルベースのDSNを可能な限り探す場合は、ODBCを絶対に避けたいと思いますが、それはより完全なデータベースエンジンであるため、ODBCなしでは不可能であり、レジストリエントリを介してODBCを設定することは可能ですが、特に楽しいことはありませんクライアントが異なるバージョンの Windows を実行している場合。

これは、MS Access に似たものに使用した接続文字列です。私が Access を選んだ理由はまさにこれでした。これは RPG プログラム用であり、データベースが必要でしたが、ODBC をいじりたくありませんでした。

サンプル:

"Connectstring='Driver={Microsoft Access Driver (*.mdb)};UID=abc;PWD=123; Dbq=C:\Program Files\Mafia Manager\mm.mdb; Exclusive=1;'"

于 2010-10-08T08:02:00.747 に答える