A
Adnil
Unregistered / Unconfirmed
GUEST, unregistred user!
已知一ConnectionString如'DSN=MYDB;UID=AAA;PWD=qwert;......',
要求解析出DSN,UID,PWD。
似乎非常容易:我通过替换';'字符为','后,利用TStringList的CommaText将其分割,然后查询是否有'DSN',
'UID','PWD'开始的字符串,解析出结果。
但是现在问题来了,PWD,也就是说密码,其本身就有可能包含';',这是我将如何处理?
根据ADO的链接生成器,现有如下的可能情况:
1.'DSN=MYDB;PWD=qwert;UID=admin;',密码为'qwert;'
2.'DSN=MYDB;PWD=;UID=admin;',密码为';'
3.'DSN=MYDB;UID=admin;',密码为''
4.'DSN=MYDB;PWD=a;a;UID=admin;',密码为'a;a'或者'a;a;'
第4种情况是最奇怪的,不同的密码,生成的链接字符串却是相同的,
我真搞不懂ado是如何做的。
各位可以创建一个access数据库,并建立一个dsn看看。
要求解析出DSN,UID,PWD。
似乎非常容易:我通过替换';'字符为','后,利用TStringList的CommaText将其分割,然后查询是否有'DSN',
'UID','PWD'开始的字符串,解析出结果。
但是现在问题来了,PWD,也就是说密码,其本身就有可能包含';',这是我将如何处理?
根据ADO的链接生成器,现有如下的可能情况:
1.'DSN=MYDB;PWD=qwert;UID=admin;',密码为'qwert;'
2.'DSN=MYDB;PWD=;UID=admin;',密码为';'
3.'DSN=MYDB;UID=admin;',密码为''
4.'DSN=MYDB;PWD=a;a;UID=admin;',密码为'a;a'或者'a;a;'
第4种情况是最奇怪的,不同的密码,生成的链接字符串却是相同的,
我真搞不懂ado是如何做的。
各位可以创建一个access数据库,并建立一个dsn看看。