これは古い質問だと思います。おそらくこれは、Sybase の問題を解決しようとしている他の誰かの助けになるでしょう。
とはいえ、.Net アプリを構築するときは、一般に、データベース アクセスにネイティブの .Net オブジェクトを使用する必要があります (使用可能な場合)。Sybase ではそれらを入手できますが、入手がやや困難なようです。組織で Sybase データベースを使用している場合は、SAP/Sybaseポータルから適切なツールをダウンロードできるアクセス権が必要です。この参照リンクは「開発者」版であり、要件に適さない可能性があることに注意してください。
Sybase.Data.AseClient.AseConnection を使用する場合、接続文字列は次のようになります。
Server=MyServer; Port=MyPort; Database=MyDatabase; User ID=MyUserID; Password=MyPassword
接続文字列にも明示的に文字セットとコードページを設定する必要がある場合があることに注意してください。
Charset=ClientDefault;CodePageType=other;clientCharset=iso_1;
文字セット/コードページの詳細については、こちらを参照してください。
上記の接続文字列は私にとってはうまくいきます。開発マシンの外で動作させるには、charset 部分を追加する必要がありました。
また、.Net4 オブジェクトにはメモリ リークの問題がある可能性があることに注意してください。単純な SQL ステートメントで、「保護されたメモリの読み取りまたは書き込みを試行しました」という例外が定期的にトリガーされました。.Net2 オブジェクトに切り替えると、そのエラーはなくなりました。ここを参照してください。
残念ながら、Sybase ドライバーの全体的な品質は低いようです。以前のバージョンのドライバー (15.03 だと思います) で動作する ODBC バージョンを取得できましたが、.Net2 接続オブジェクトは、インスタンス化時に DLL エラーのように見えるものを常にスローします。現在、私は 15.70 を使用しており、.Net4 オブジェクトで上記のメモリ リークの問題がありますが、現時点では .Net2 オブジェクトは正常に動作しています。