[Mono-devel-list] Re: [PATCH]OracleClient handles non-ASCII characters in queries incorrectly.

tim at timcoleman.com tim at timcoleman.com
Wed Jan 28 10:53:28 EST 2004


I have applied this patch in CVS.  Thanks.

Tim

> This is a multi-part message in MIME format.
> 
> ------_=_NextPart_001_01C3E428.1459D941
> Content-Type: text/plain;
> 	charset="iso-8859-1"
> Content-Transfer-Encoding: quoted-printable
> 
> Hello,
> 
> Queries containing non-ASCII characters are handled incorrectly by=20
> System.Data.OracleClient. They result in strange Oracle error messages.
> This behaviour is caused by incorrectly encoded query strings.
> 
> I've filed following bug for this problem:
> http://bugzilla.ximian.com/show_bug.cgi?id=3D53332
> 
> The attached patch should fix this. Additionally it introduces UTF8 as
> connection encoding which is enabled on the client using:
> 
> 	NLS_LANG=3DAMERICAN_AMERICA.UTF8
> 	export NLS_LAN
> 
> Are there any objections against the use of UTF8 in this case?
> Can you please review this patch and commit if possible?
> 
> Thanks,
> Joerg.
> 
> ------_=_NextPart_001_01C3E428.1459D941
> Content-Type: application/octet-stream;
> 	name="OracleEncoding.diff"
> Content-Transfer-Encoding: base64
> Content-Description: OracleEncoding.diff
> Content-Disposition: attachment;
> 	filename="OracleEncoding.diff"
> 
> PyBPcmFjbGVFbmNvZGluZy5kaWZmCkluZGV4OiBDaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
> PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmls
> ZTogL21vbm8vbWNzL2NsYXNzL1N5c3RlbS5EYXRhLk9yYWNsZUNsaWVudC9DaGFuZ2VMb2csdgpy
> ZXRyaWV2aW5nIHJldmlzaW9uIDEuMjQKZGlmZiAtdSAtcjEuMjQgQ2hhbmdlTG9nCi0tLSBDaGFu
> Z2VMb2cJOSBKYW4gMjAwNCAxNDo1MjozOCAtMDAwMAkxLjI0CisrKyBDaGFuZ2VMb2cJMjYgSmFu
> IDIwMDQgMTc6MDU6MDAgLTAwMDAKQEAgLTEsMyArMSwxNCBAQAorMjAwNC0wMS0yNiAgSm9lcmcg
> Um9zZW5rcmFueiAgPGpvZXJnckB2b2VsY2tlci5jb20+CisKKwkqIFN5c3RlbS5EYXRhLk9yYWNs
> ZUNsaWVudC5PY2kvT2NpQ2FsbHMuY3M6CisJCUNoYW5nZWQgYmluZGluZyBvZiBPY2lTdG10UHJl
> cGFyZSBmcm9tIHN0cmluZyAKKwkJdG8gYnl0ZSBbXS4KKwkqIFN5c3RlbS5EYXRhLk9yYWNsZUNs
> aWVudC5PY2kvT2NpRGVmaW5lSGFuZGxlLmNzOgorCQlDaGFyYWN0ZXIgdHlwZXMgYXJlIGNvbnZl
> cnRlZCB1c2luZyBVVEY4IGVuY29kaW5nLgorCSogU3lzdGVtLkRhdGEuT3JhY2xlQ2xpZW50Lk9j
> aS9PY2lTdGF0ZW1lbnRIYW5kbGUuY3M6CisJCVNRTCBzdGF0ZW1lbnQgdG8gYmUgcHJlcGFyZWQg
> aXMgY29udmVydGVkIHRvIGJ5dGUKKwkJYXJyYXkgdXNpbmcgVVRGOCBlbmNvZGluZy4KKwkJCiAy
> MDA0LTAxLTA5ICBKb2VyZyBSb3NlbmtyYW56ICA8am9lcmdyQHZvZWxja2VyLmNvbT4KIAogCSog
> U3lzdGVtLkRhdGEuT3JhY2xlQ2xpZW50Lk9jaS9PY2lDYWxscy5jczoKSW5kZXg6IFN5c3RlbS5E
> YXRhLk9yYWNsZUNsaWVudC5PY2kvT2NpQ2FsbHMuY3MKPT09PT09PT09PT09PT09PT09PT09PT09
> PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL21v
> bm8vbWNzL2NsYXNzL1N5c3RlbS5EYXRhLk9yYWNsZUNsaWVudC9TeXN0ZW0uRGF0YS5PcmFjbGVD
> bGllbnQuT2NpL09jaUNhbGxzLmNzLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjEKZGlmZiAtdSAt
> cjEuMSBPY2lDYWxscy5jcwotLS0gU3lzdGVtLkRhdGEuT3JhY2xlQ2xpZW50Lk9jaS9PY2lDYWxs
> cy5jcwk5IEphbiAyMDA0IDE0OjUyOjM5IC0wMDAwCTEuMQorKysgU3lzdGVtLkRhdGEuT3JhY2xl
> Q2xpZW50Lk9jaS9PY2lDYWxscy5jcwkyNiBKYW4gMjAwNCAxNzowNTowMSAtMDAwMApAQCAtMzE2
> LDcgKzMxNiw3IEBACiAJCQlbRGxsSW1wb3J0ICgib2NpIildCiAJCQlpbnRlcm5hbCBzdGF0aWMg
> ZXh0ZXJuIGludCBPQ0lTdG10UHJlcGFyZSAoSW50UHRyIHN0bXRocCwKIAkJCQlJbnRQdHIgZXJy
> aHAsCi0JCQkJc3RyaW5nIHN0bXQsCisJCQkJYnl0ZSBbXSBzdG10LAogCQkJCVtNYXJzaGFsQXMg
> KFVubWFuYWdlZFR5cGUuVTQpXSBpbnQgc3RtdF9sZW5ndGgsCiAJCQkJW01hcnNoYWxBcyAoVW5t
> YW5hZ2VkVHlwZS5VNCldIE9jaVN0YXRlbWVudExhbmd1YWdlIGxhbmd1YWdlLAogCQkJCVtNYXJz
> aGFsQXMgKFVubWFuYWdlZFR5cGUuVTQpXSBPY2lTdGF0ZW1lbnRNb2RlIG1vZGUpOwpAQCAtNzIw
> LDEyICs3MjAsMTMgQEAKIAogCQlpbnRlcm5hbCBzdGF0aWMgaW50IE9DSVN0bXRQcmVwYXJlIChJ
> bnRQdHIgc3RtdGhwLAogCQkJSW50UHRyIGVycmhwLAotCQkJc3RyaW5nIHN0bXQsCisJCQlieXRl
> IFtdIHN0bXQsCiAJCQlpbnQgc3RtdF9sZW5ndGgsCiAJCQlPY2lTdGF0ZW1lbnRMYW5ndWFnZSBs
> YW5ndWFnZSwKIAkJCU9jaVN0YXRlbWVudE1vZGUgbW9kZSkKIAkJewotCQkJVHJhY2UuV3JpdGVM
> aW5lSWYodHJhY2VPY2ksIHN0cmluZy5Gb3JtYXQoIk9DSVN0bXRQcmVwYXJlICh7MH0pIiwgc3Rt
> dCksICJPQ0kiKTsKKwkJCVRyYWNlLldyaXRlTGluZUlmKHRyYWNlT2NpLCBzdHJpbmcuRm9ybWF0
> KCJPQ0lTdG10UHJlcGFyZSAoezB9KSIsIFN5c3RlbS5UZXh0LkVuY29kaW5nLlVURjguR2V0U3Ry
> aW5nKHN0bXQpKSwgIk9DSSIpOworCQkJCiAJCQlyZXR1cm4gT2NpTmF0aXZlQ2FsbHMuT0NJU3Rt
> dFByZXBhcmUgKHN0bXRocCwgZXJyaHAsIHN0bXQsIHN0bXRfbGVuZ3RoLCBsYW5ndWFnZSwgbW9k
> ZSk7CiAJCX0KIApJbmRleDogU3lzdGVtLkRhdGEuT3JhY2xlQ2xpZW50Lk9jaS9PY2lEZWZpbmVI
> YW5kbGUuY3MKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
> PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL21vbm8vbWNzL2NsYXNzL1N5c3RlbS5EYXRh
> Lk9yYWNsZUNsaWVudC9TeXN0ZW0uRGF0YS5PcmFjbGVDbGllbnQuT2NpL09jaURlZmluZUhhbmRs
> ZS5jcyx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4xMApkaWZmIC11IC1yMS4xMCBPY2lEZWZpbmVI
> YW5kbGUuY3MKLS0tIFN5c3RlbS5EYXRhLk9yYWNsZUNsaWVudC5PY2kvT2NpRGVmaW5lSGFuZGxl
> LmNzCTkgSmFuIDIwMDQgMTQ6NTI6MzkgLTAwMDAJMS4xMAorKysgU3lzdGVtLkRhdGEuT3JhY2xl
> Q2xpZW50Lk9jaS9PY2lEZWZpbmVIYW5kbGUuY3MJMjYgSmFuIDIwMDQgMTc6MDU6MDEgLTAwMDAK
> QEAgLTIzMyw3ICsyMzMsNyBAQAogCQkJCWJ5dGUgW10gYnVmZmVyID0gbmV3IGJ5dGUgW1NpemVd
> OwogCQkJCU1hcnNoYWwuQ29weSAoVmFsdWUsIGJ1ZmZlciwgMCwgU2l6ZSk7CiAKLQkJCQlyZXR1
> cm4gRW5jb2RpbmcuRGVmYXVsdC5HZXRTdHJpbmcgKGJ1ZmZlcik7CisJCQkJcmV0dXJuIEVuY29k
> aW5nLlVURjguR2V0U3RyaW5nIChidWZmZXIpOwogCiAJCQljYXNlIE9jaURhdGFUeXBlLkludGVn
> ZXI6CiAJCQkJdG1wID0gTWFyc2hhbC5QdHJUb1N0cmluZ0Fuc2kgKFZhbHVlLCBTaXplKTsKSW5k
> ZXg6IFN5c3RlbS5EYXRhLk9yYWNsZUNsaWVudC5PY2kvT2NpU3RhdGVtZW50SGFuZGxlLmNzCj09
> PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
> PT09PT09PT0KUkNTIGZpbGU6IC9tb25vL21jcy9jbGFzcy9TeXN0ZW0uRGF0YS5PcmFjbGVDbGll
> bnQvU3lzdGVtLkRhdGEuT3JhY2xlQ2xpZW50Lk9jaS9PY2lTdGF0ZW1lbnRIYW5kbGUuY3Msdgpy
> ZXRyaWV2aW5nIHJldmlzaW9uIDEuNwpkaWZmIC11IC1yMS43IE9jaVN0YXRlbWVudEhhbmRsZS5j
> cwotLS0gU3lzdGVtLkRhdGEuT3JhY2xlQ2xpZW50Lk9jaS9PY2lTdGF0ZW1lbnRIYW5kbGUuY3MJ
> OSBKYW4gMjAwNCAxNDo1MjozOSAtMDAwMAkxLjcKKysrIFN5c3RlbS5EYXRhLk9yYWNsZUNsaWVu
> dC5PY2kvT2NpU3RhdGVtZW50SGFuZGxlLmNzCTI2IEphbiAyMDA0IDE3OjA1OjAxIC0wMDAwCkBA
> IC0yMDksMTIgKzIwOSwxNSBAQAogCQkJCXRocm93IG5ldyBJbnZhbGlkT3BlcmF0aW9uRXhjZXB0
> aW9uICgiU3RhdGVtZW50SGFuZGxlIGlzIGFscmVhZHkgZGlzcG9zZWQuIik7CiAJCQl9CiAKKwkJ
> CWJ5dGUgW10gYnVmZmVyID0gU3lzdGVtLlRleHQuRW5jb2RpbmcuVVRGOC5HZXRCeXRlcyAoY29t
> bWFuZFRleHQgKyAiXDAiKTsKKwogCQkJc3RhdHVzID0gT2NpQ2FsbHMuT0NJU3RtdFByZXBhcmUg
> KHRoaXMsCiAJCQkJRXJyb3JIYW5kbGUsCi0JCQkJY29tbWFuZFRleHQsCi0JCQkJY29tbWFuZFRl
> eHQuTGVuZ3RoLAorCQkJCWJ1ZmZlciwKKwkJCQlidWZmZXIuTGVuZ3RoLAogCQkJCU9jaVN0YXRl
> bWVudExhbmd1YWdlLk5UViwKIAkJCQlPY2lTdGF0ZW1lbnRNb2RlLkRlZmF1bHQpOworCiAJCQlp
> ZiAoc3RhdHVzICE9IDApIHsKIAkJCQlPY2lFcnJvckluZm8gaW5mbyA9IEVycm9ySGFuZGxlLkhh
> bmRsZUVycm9yICgpOwogCQkJCXRocm93IG5ldyBPcmFjbGVFeGNlcHRpb24gKGluZm8uRXJyb3JD
> b2RlLCBpbmZvLkVycm9yTWVzc2FnZSk7Cg==
> 
> ------_=_NextPart_001_01C3E428.1459D941--



More information about the Mono-devel-list mailing list