2017-09-04 10 views
6

वापस नहीं करता है, मैंने डीबीआई पैकेज का उपयोग करके एक Sybase डीबी से कनेक्ट करने का प्रयास किया है, लेकिन प्रश्न यूनानी वर्णों को सही तरीके से वापस नहीं करते हैं।SQL सर्वर (और Sybase 12.5) से डीबीआई कनेक्शन यूनानी वर्ण

SQL सर्वर से कनेक्शन के लिए समान।

library(odbc) 
con <- dbConnect(odbc::odbc(), .connection_string = "Driver={SQL Server};server=ATLAS;database=master;trusted_connection=true") 

मैं जब मैं RODBC इस्तेमाल किया (एक ही सिस्टम DSN) के साथ कोई समस्या नहीं थी

enter image description here

तालिका सामग्री:

enter image description here

यहाँ एक dbConnect आदेश का एक उदाहरण है
> sessionInfo() 
R version 3.4.1 (2017-06-30) 
Platform: i386-w64-mingw32/i386 (32-bit) 
Running under: Windows 7 x64 (build 7601) Service Pack 1 

Matrix products: default 

locale: 
[1] LC_COLLATE=Greek_Greece.1253 LC_CTYPE=Greek_Greece.1253 LC_MONETARY=Greek_Greece.1253 LC_NUMERIC=C     
[5] LC_TIME=Greek_Greece.1253  

attached base packages: 
[1] stats  graphics grDevices utils  datasets methods base  

other attached packages: 
[1] odbc_1.1.1 

loaded via a namespace (and not attached): 
[1] bit_1.1-12  compiler_3.4.1 hms_0.3  DBI_0.7  tools_3.4.1 tibble_1.3.4 yaml_2.1.14 Rcpp_0.12.12 bit64_0.9-7 
[10] blob_1.1.0  rlang_0.1.2 
+0

क्या यह हो सकता है कि आपके पास अपने perl स्थापना में मिलान करने वाला भाषा पैक न हो? डीबीआई के माध्यम से कनेक्ट करते समय यह क्या लौटाता है? –

+0

मेरे पास एक perl स्थापना नहीं है। _> dbConnect (ODBC :: ODBC(), "PIND_ERGOSE", charset = "cp1253") dbo @ Omiros डेटाबेस: ERGOSE एसक्यूएल सर्वर संस्करण: 12.50.0000_ –

+0

@GeorgeDontas मेरे भावना के साथ समस्या यह है आपका चारसेट https://sourceforge.net/p/jtds/bugs/440/ एनबी देखें। मुझे विंडोज़ पर कुछ साल पहले भी इसी तरह की समस्या थी और उसे चार्सेट बदलना पड़ा। क्यूं कर? सीपी 1252 128 और 160 के बीच के मानों को परिभाषित नहीं करता है, इसलिए वे परिवर्तित हो जाते हैं? मुझे उम्मीद है कि उपर्युक्त मदद करता है। – Technophobe01

उत्तर

0

कृपया कोशिश करें encoding पैरामीटर dbConnect() में सेट करना। ?odbc::dbConnect

एन्कोडिंग: डेटाबेस पर उपयोग किए गए टेक्स्ट एन्कोडिंग। यदि डेटाबेस है जो आपके स्थानीय एन्कोडिंग सेट के समान है '' ''। अपने सिस्टम पर उपलब्ध एन्कोडिंग की पूरी सूची के लिए 'iconvlist()' देखें। नोट स्ट्रिंग हमेशा 'यूटीएफ -8' एन्कोडेड लौटा दी जाती है।

संबंधित मुद्दे