पर मुझे एक पाइथन स्क्रिप्ट के साथ एक समस्या का सामना करना पड़ रहा है जो एक प्रतिबिंबित एमएस एसक्यूएल सर्वर डीबी से जुड़ता है। जब मैं दूसरी बार डीबी से कनेक्ट करने का प्रयास करता हूं तो यह एक विभाजन गलती फेंक रहा है। Google Compute Engine पर ऐप सर्वर और डीबी दोनों उदाहरण चल रहे हैं।पीईओडीबीसी के साथ दूसरे कनेक्शन पर सेगफॉल्ट एमएस एसक्यूएल सर्वर
यहाँ कुछ मुद्दे नकल कोड है:
import pyodbc
params = {
'autocommit': True,
'uid': 'myuser',
'tds_version': '8.0',
'DRIVER': '{mssql}',
'pwd': 'mypassword',
'server': 'sql-server-01',
'database': 'mydb',
'port': 1433,
}
c1 = pyodbc.connect(**params)
c2 = pyodbc.connect(**params)
पहले कनेक्शन (C1) सफल होता है, लेकिन दूसरे कनेक्शन (C2) segfault के साथ तुरंत विफल रहता है। "mydb" को दूसरे सर्वर (sql-server-02) में प्रतिबिंबित किया जाता है। गैर-प्रतिबिंबित डीबी का उपयोग करना, या इस डीबी के लिए मिररिंग अक्षम करना, इसे दूर कर देता है।
हमने कई libs को अपग्रेड करने का प्रयास किया है, और इसने इस मुद्दे को ठीक नहीं किया है। संस्करण:
- Microsoft SQL सर्वर: 12.00.2000 (नवीनतम)
- पायथन: 2.7.6
- pyodbc: 3.0.10 (नवीनतम)
- unixODBC: 2.2.14p2-5ubuntu5, 2.3 .0, 2.3.4 (नवीनतम)
- एमएस ODBC RedHat के लिए ड्राइवर: 11.0.1790.0, 11.0.2270.0 (नवीनतम)
यहाँ जोड़ने के लिए, जावा कोड समान चरणों को निष्पादित ठीक काम करता है।
कोई भी विचार?
आपके उत्तर के लिए धन्यवाद। असल में, हमने फ्रीटीडीएस का इस्तेमाल तब तक किया जब तक एमएस ने अपना खुद का चालक प्रकाशित नहीं किया; स्विच संभव है, हालांकि हमें पेशेवरों और विपक्ष का वजन करना होगा। क्या एमएस के नए ड्राइवर प्रयास के बारे में कोई लिंक हैं? –
एमएस ने स्वीकार किया है कि उनकी चालक गुणवत्ता खराब है; यहां चर्चा का एक लिंक दिया गया है: https://groups.google.com/forum/#!topic/django-developers/FbBcUCzrSZo बैठक वास्तव में इस सप्ताह सिएटल में हो रही है, जिसमें कुछ लोग जिन्होंने Django पर सबसे करीबी काम किया है एसक्यूएल सर्वर समर्थन। – FlipperPA