微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 通用数据链接 – 无法打开文件.确保它是有效的数据链接文件

我试图在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();

但是,我在尝试打开文件时收到此错误

File cannot be opened. Ensure it is a valid Data Link file.

这很奇怪,因为我创建了一个文件,将其命名为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文件的参考.还有一点值得注意的是,如果我打开一个新的文本文件并过去我的行数组中的所有行,我会得到同样的错误.

解决方法

您需要做的就是使用Unicode编码:

File.WriteallLines("Test.udl",lines,Encoding.Unicode);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐