我正在嘗試以編程方式在C#中創建一個UDL文件。在我的程序中,我想向用戶顯示數據鏈接屬性窗口,但使用我自己的連接字符串默認值。我最初以爲做到以下幾點:通用數據鏈接 - 文件無法打開。確保它是一個有效的數據鏈接文件
文件無法打開:
string[] lines = new string[] { "[oledb]", "; Everything after this line is an OLE DB initstring", "Provider=SQLOLEDB.1;Persist Security Info=False" }; File.WriteAllLines("Test.udl", lines); Process p = Process.Start("Test.udl"); p.WaitForExit();
然而,試圖打開該文件時,我得到這個錯誤。確保它是一個有效的數據鏈接文件。
這很奇怪,因爲我創建了一個空文件,將其命名爲something.udl
,打開一看,點擊OK
,然後打開這是該文件的內容:
[oledb]
; Everything after this line is an OLE DB initstring
Provider=SQLOLEDB.1;Persist Security Info=False
但是有一個換行符在連接字符串的末尾。我用KDiff來比較這個文件和我在程序中創建的文件,它說「文件是平等的文本,但它們不是二進制平等的」,或者是這種效果。
我相信它與File.WriteAllLines
方法如何寫字符串有關。所以我試圖用這種方法使用不同的編碼,但沒有成功。關於我要去哪裏的任何想法都是錯誤的?
我使用this MSDN link作爲關於UDL文件的參考。同樣有趣的是,如果我在lines
陣列中的所有行中打開一個新的文本文件,並且出現同樣的錯誤。
[在標題標籤(http://meta.stackexchange.com/questions/19190/should-questions-include-tags-in -their-titles) – stuartd