Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

R DBI ODBC त्रुटि:nanodbc/nanodbc.cpp:3110:07009:[Microsoft] [SQL सर्वर के लिए ODBC ड्राइवर 13] अमान्य डिस्क्रिप्टर इंडेक्स

मैं भी कई महीनों से इस समस्या से जूझ रहा हूं। हालांकि, मुझे एक समाधान मिला है जो आपकी भी मदद कर सकता है।

संक्षेप में, समस्या तब होती है जब पूर्णांक/संख्यात्मक स्तंभों के बाद कुछ पाठ स्तंभ प्रकट नहीं होते हैं। जब क्वेरी में कॉलम ठीक से संरेखित नहीं होते हैं, तो invalid index . की त्रुटि होती है फेंक दिया गया है और आपका कनेक्शन फ्रीज हो सकता है। समस्या तो यह है कि, मुझे कैसे पता चलेगा कि मेरी क्वेरी के अंत में क्या रखा जाए?

इसे निर्धारित करने के लिए, आमतौर पर class() . का उपयोग करके एक कॉलम की जांच की जा सकती है या typeof() . डेटाबेस से ऐसी जानकारी की जांच करने के लिए, आप एक क्वेरी का उपयोग कर सकते हैं जैसे:

dbColumnInfo(dbSendQuery(con, "SELECT * from schema.table")) # You may not require the schema part...

यह ब्याज के डेटा-सेट में प्रत्येक कॉलम के लिए एक प्रकार फ़ील्ड के साथ एक तालिका लौटाएगा। फिर आप select() . को सॉर्ट करने के लिए इस तालिका का उपयोग अनुक्रमणिका के रूप में कर सकते हैं बयान। मेरी विशेष कठिनाई यह है कि type तालिका में फ़ील्ड सभी संख्याएँ थीं! हालांकि, मैंने देखा कि चयन कथन के अंत में रखे जाने पर ऋणात्मक संख्या वाले प्रत्येक कॉलम ने मेरी क्वेरी तय की और मैं पूरी तालिका को ठीक से खींच सकता था। उदाहरण के लिए, मेरा पूरा समाधान :

# Create my index of column types (ref to the current order)
index <- dbColumnInfo(dbSendQuery(con, "SELECT * from schema.table"))
index$type <- as.integer(index$type) # B/c they are + and - numbers!

# Create the ref to the table
mySQLTbl <- tbl(con, in_schema("schema", "tablename"))

# Use the select statement to put all the + numbered columns first!
mySQLTbl %>%
  select(c(which(index$type>=0),
                 which(index$type<0)))

ऐसा क्यों होता है, इसके कारण के लिए, मुझे यकीन नहीं है और मेरे पास मेरे उपयोग-मामले में अधिक गहराई तक जाने के लिए डेटा एक्सेस विशेषाधिकार नहीं हैं



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर अप्रयुक्त सूचकांक

  2. SQL सर्वर (T-SQL) में प्रत्येक विभाजन में पंक्तियों की संख्या वापस करने के 3 तरीके

  3. क्या SQL में LIKE और IN का संयोजन है?

  4. SQL सर्वर में JSON

  5. नए SQL सर्वर कार्डिनैलिटी अनुमानक पर पहली नज़र