0

MYOB ODBC ドライバーを使用して、新しい顧客レコードを .NET アプリケーションから MYOB (AccountRight Premier V19) に挿入していますが、レコードが正しくインポートされません。具体的には、挿入の住所部分が正しく機能せず、影響があるように見えます。それらの住所フィールドの後のすべてのフィールドの場所。すべてが 1 列後ろにずれているようです。

アプリケーションによって生成される SQL ステートメントの例を次に示します。

Insert Into Import_Customer_Cards (CoLastName, CardStatus, CurrencyCode, Address1AddressLine1, Address1City, Address1State, Address1PostCode, Address1Country, Address1Phone1, Address1Phone2, Address1Phone3, Address1Fax, Address1Email, Address1Website, Address1ContactName, Address1Salutation, ABN) VALUES ('1 AAA TEST', 'N', 'AUD', '116 My Street', 'My Suburb', 'QLD', '4000', 'Australia', '31033383', '', '', '', '', '', 'This Bloke', '', '12345678910')

「116 My Street」の値はインポートされておらず、後続のすべてのフィールドが 1 列「上」に移動しているため、市区町村は Address1StreetLine4 列に、州は市区町村列に、などのように MYOB 自体内に含まれています。

また、電話番号と ABN フィールドが消えるだけです。インポートが完了した後、顧客レコードのどこにも MYOB が見つかりません。

MYOB エラー ログ ファイルを確認しましたが、重大な問題が発生したことを示すものは何もありません。

これを機能させるために知っていることはすべて試しましたが、今は困惑しています。

ここにいる誰かが、これを引き起こしている可能性があることについて何か考えを持っていますか?

私の推測では、これらの住所フィールドにはある種の「特別な」フォーマットが必要です。私は近いですか?

4

2 に答える 2

2
  1. v19 のアドレス行 (1 ~ 4) は、個別のフィールドであるかのように表示されますが、実際には、ドライバーはそれらを 1 つのフィールドにマップします。試すことができる 1 つの方法は、SQL ステートメントに Address1AddressLine[2..4] を含め、それぞれを空の文字列に設定することです。4 つすべてで 255 文字を超えないように注意してください (ここではその危険はないことに注意してください)。
  2. v19 のフレーバーが通貨設定をサポートしていることが確実でない限り、通貨コードをインポートしようとしないでください。v19 の特定のバージョンで認識されない値をインポートしようとすると、奇妙なことが起こる可能性があります。
  3. v19 ODBC ドライバーは、ファイル メニューの下の UI に表示されているのと同じインポート/エクスポート ルーチンを実際に呼び出します。値を正しく設定しているかどうかわからない場合は、UI を使用して値をインポートしてみてください (これを行うには、インポート データを取得して csv に変換します)。エラー応答が向上します。
于 2016-02-12T03:14:14.003 に答える