2016-12-08 14 views
5
private OdbcConnection _internalConnection; 
     public OdbcConnection InternalConnection 
     { 
      get 
      { 
       if (_internalConnection == null) 
       { 
        Open(); 
       } 
       return _internalConnection; 
      } 
     } 

     public void Open() 
     { 
      _internalConnection = new OdbcConnection(CreateConnectionString()); 

      try 
      { 
       if (_internalConnection.State == System.Data.ConnectionState.Closed) 
        _internalConnection.Open(); 
      } 
      catch 
      { 
       throw; 
      } 
     } 

     private string CreateConnectionString() 
     { 

      int endpointPort = 5439; 

      string driver = "{Amazon Redshift (x64)}"; 
      string connectionString = "Driver={0};Server={1};Database={2};UID={3};PWD={4};Port={5};SSL=true;Sslmode=Require"; 

      connectionString = string.Format(connectionString, 
       driver, 
       Parameters[ConnectionParameterType.DataSource], 
       Parameters[ConnectionParameterType.DatabaseName], 
       Parameters[ConnectionParameterType.UserName], 
       Parameters[ConnectionParameterType.Password], 
       endpointPort); 

      return connectionString; 
     } 

see error in imageडेटा स्रोत नाम नहीं मिला और कोई डिफ़ॉल्ट चालक निर्दिष्ट (का उपयोग कर अमेज़न Redshift (64))

+0

अपने ऐप के 32 बिट संस्करण को चलाने का प्रयास करें। ड्राइवर्स थोड़ा निर्भर हैं। –

+0

अभी भी एक ही त्रुटि मिली। –

+0

क्या आपने सत्यापित किया है कि जिस ड्राइवर का आप उपयोग करने का प्रयास कर रहे हैं वह स्थापित है? –

उत्तर

5

स्थापित 32 बिट ड्राइवर

https://s3.amazonaws.com/redshift-downloads/drivers/AmazonRedshiftODBC32-1.3.1.1000.msi

और की जगह स्ट्रिंग

साथ ड्राइवर

स्ट्रिंग ड्राइवर = "{अमेज़ॅन रेडशिफ्ट (x86)}";

+1

ठीक काम करता है !! धन्यवाद http://stackoverflow.com/users/5744042/er-shashi-tiwari –

+1

तो मैं सही रास्ते पर था - 32 बिट की आवश्यकता थी और चालक गायब था। बहुत बढ़िया। –

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

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