2016-06-22 2 views
2

Я пытаюсь выбрать несколько полей из .tps файла, но я получаю следующее сообщение об ошибке: enter image description hereOdbc Подключение к базе данных .tps не работает

Это мой код:

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()); 
} 
} 

Мое приложение .config

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

, как я мой драйвер настроен на администратора источника данных ODBC

enter image description here

Когда я использую Топ сканирование и посмотреть на той же таблице есть одна запись в ней, так почему она не показывает, что результат на DataGridView и что это ISAM таблица, пожалуйста, помогите мне, как я отсутствую вариантов здесь.

ответ

0

Постараюсь помочь вам с моим опытом Во-первых, в этом драйвере есть много чего странного и очень мало информации в сети, и я потерял много времени, чтобы понять, как работать.

ваш SQL является: ВЫБРАТЬ Store_No, STORE_NAME, Store_City, Store_State ИЗ SYSMST

Мои советы:

  1. Обязательно ли настроен драйвер в 32-х, а не 64-битную в ODBC, it' s не работает на 64 бита, также C# нужно скомпилировать в 32 бит, попробуйте протестировать ODBC с другими инструментами, чтобы убедиться, что он работает как таблица импорта Excel из ODBC, это помогает мне много узнать, как работать с этим драйвером TopSpeed.

  2. У вас есть файл SYSMST.tps на пути T: \ Rambo \ Store231WinDss \ windss \ DATA ?, Когда вы используете sql как "FROM AAA", AAA - это имя tps, а не таблица DCT от Clarion водитель знает файлы, а не DCT.

  3. Что такое тип данных полей Store_No, Store_Name, Store_City и Store_State, потому что у драйвера возникают проблемы с некоторым типом данных, попробуйте сделать каждый sql с одним полем, чтобы найти поле ведьмы, имеют проблему (например, байт, short, date, array make problem), старайтесь избегать «Select *», потому что типы данных полей (некоторые таблицы будут работать нормально, но большинство и большие таблицы - это сложно).

  4. Попробуйте сделать это выбрать только чтобы увидеть, если подмигнули работать "SELECT STORE_NAME FROM SYSMST" из-струнной работы тонкой

  5. Don't сравнить TPS ODBC SQL язык с other's известных систем SQL как SQL-Server, потому что здесь будет много ошибок, не понятно и сложно понять, почему.

  6. Даже если некоторый код, который я написал на C# с обработкой ошибок, был включен в try и catch, но C# exe разбился (не заражая ошибку) на моих попытках.

Просто надеемся, что я помог вам. Последние вещи, Много попыток и много удачи.