どのようにお金のデータ型に対して正しいMS SQLネイティブフォーマットを書くことbinarywriterを使用していますか?

StackOverflow https://stackoverflow.com/questions/562042

質問

どのようにお金のデータ型に対して正しいMS SQLネイティブフォーマットを書くことbinarywriterを使用していますか?

私は、小数点量の文字列表現としてファイルから読み込んだ.NETの価値、利用したいと思います(SQLから実際にエクスポート「お金」のデータ型を、それは重要ではありません)。

どのように私はあなたが正常に値を読み取るためにネイティブフォーマットモードでBCPまたはBULK INSERTを使用できるように値を書き込むためにバイナリライターを使用することができますか?

役に立ちましたか?

解決

(wは以前にインスタンス化されたバイナリライタである)

                    Dim dec = CDec(aString)
                    Dim lng = CLng(dec * 10000)
                    Dim bytes = BitConverter.GetBytes(lng)
                    w.Write(bytes(4))
                    w.Write(bytes(5))
                    w.Write(bytes(6))
                    w.Write(bytes(7))
                    w.Write(bytes(0))
                    w.Write(bytes(1))
                    w.Write(bytes(2))
                    w.Write(bytes(3))

クリーナーまたはより良い方法があるかもしれませんが、これは、

OKのようです 、このフォーマットは唯一の非NULLマネーの列にあるヘッドアップとして

、私はあなたが

NULL可能お金列の最初またはその効果に何かの長さのバイトを書くことがあると思います

他のヒント

私はBCPで区切られたファイルに数値型にnull値を行う方法を覚えていませんが、私はあなたが長さ接頭辞ファイルを使用する場合は、-1の長さの値がnull値を表すと考えています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top