2016-06-22 18 views
2

Ich versuche, einige Felder aus .tps Datei auszuwählen, aber ich bin den folgenden Fehler erhalten: enter image description hereODBC-Verbindung zur Datenbank .tps nicht funktioniert

Das ist mein Code:

privatevoidbutton1_Click(objectsender,EventArgse) 
{ 
stringcon=ConfigurationManager.AppSettings["WinDSS_Connection"]; 
try 
{ 
OdbcConnectionconn=newOdbcConnection(con); 
OdbcCommandcmd=newOdbcCommand(); 
OdbcDataAdapterda=newOdbcDataAdapter(); 
DataTabledt=newDataTable(); 
conn.Open(); 
cmd=conn.CreateCommand(); 
cmd.CommandType=CommandType.Text; 
cmd.CommandText="SELECT Store_No,Store_Name,Store_City,Store_State FROM SYSMST"; 
da.SelectCommand=cmd; 
da.Fill(dt); 
dgv1.DataSource=dt; 
conn.Close(); 

} 
catch(Exceptionex) 
{ 
MessageBox.Show(ex.Message.ToString()); 
} 
} 

Meine app .config

<appSettings> 
<addkey="WinDSS_Connection"value="DRIVER=SoftVelocityTopspeeddriver(*.tps);DBQ=T:\Rambo\Store231WinDss\windss\DATA;Extension=tps;Oem=N;NullEmptyStr=N;"/> 
</appSettings> 

, wie ich meine Treiber auf ODBC-Datenquellen-Administrator konfiguriert haben

enter image description here

Wenn ich Top Scan verwenden und suchen Sie am selben Tisch gibt es einen Datensatz in ihm, also warum ist es nicht, dieses Ergebnis auf der Datagridview anzeigt und was diese ISAM Tabelle ist mir bitte helfen, wie ich aus bin von Optionen hier.

Antwort

0

Ich werde versuchen, Ihnen mit meiner Erfahrung erstens zu helfen, es gibt eine Menge Dinge seltsam mit diesem Treiber und sehr wenigen Informationen im Netz, und ich habe viel Zeit verloren, um herauszufinden, wie man arbeitet.

Ihre SQL ist: SELECT Store_No, store_name, Store_City, Store_State VON SYSMST

Meine Hinweise:

  1. Seien Sie sicher, dass der Fahrer in 32-Bit- und 64-Bit nicht der ODBC kann so konfiguriert, it' s nicht arbeiten auf 64 bits, auch C# muss in 32 bits kompiliert werden, versuchen, die ODBC mit anderen Tools zu testen, nur um sicherzustellen, dass es funktioniert wie Excel-Import-Tabelle von ODBC, es hilft mir sehr zu finden, wie man arbeitet mit diesem TopSpeed ​​Treiber.

  2. Haben Sie eine SYSMST.tps Datei auf dem Pfad T haben?: \ Rambo \ Store231WinDss \ windss \ DATA, wenn Sie SQL wie "FROM AAA" verwenden ist die AAA der Name der tps und nicht die Tabelle der die DCT von Clarion der Treiber kennt nur Dateien nicht DCT.

  3. Was der Datentyp der Felder Store_No, store_name, Store_City und Store_State, weil die Fahrer Probleme mit einigem Datentyp haben, versuchen Sie mit einem Feld machen sql jedes Mal Hexe Feld ein Problem haben zu finden (zB Byte, kurz, date, array make problem), versuchen Sie "Select *" zu vermeiden, weil die Felder Datentypen (einige Tabellen funktionieren gut, aber die meisten und die großen Tabellen sind schwer).

  4. Versuchen Sie, diese wählen machen nur um zu sehen, ob Es ist arbeiten „SELECT store_name FROM SYSMST“ wegen Zeichenfolge funktionieren

  5. DO NOT TPS ODBC SQL-Sprache mit other's bekannten SQL-Systeme vergleichen wie SQL-Server, denn hier wird es viele Fehler geben, die nicht klar und schwer zu verstehen sind.

  6. Auch wenn einige Code, den ich auf C# geschrieben habe mit Fehlerbehandlung der Code war auf Versuch und fangen, aber die C# exe ist abgestürzt (ohne den Fehler zu fangen) auf meine Versuche.

Ich hoffe nur, dass ich Ihnen geholfen habe. Die letzten Dinge, viel versucht und viel Glück.