У меня вопрос о подключении и получении имен таблиц из DSN, который, очевидно, является драйвером Transoft.Этот вопрос здесь:
OdbcConnection.GetSchema ("TABLES");не работает
После того ответа, который сработал, я мог отобразить все имена таблиц.Теперь я обнаружил, что чтение этих таблиц все еще не работает хорошо.Я получаю сообщение об ошибке:
Failed to connect to data source: ERROR [HY000][Transoft][TSODBC][usqlsd](log: 5852-142748) File does not exist: APPT
Где APPT - имя таблицы, которую он прочитал.Пока это простой кусок кода:
void dumbRead(String tableName)
{
OdbcCommand sqlCommand = conn.CreateCommand();
// execute sql
sqlCommand.CommandText =
"select * from " + tableName; //I even tried with qualifying table name like:
// "select * from douglas." + tableName; where the douglas. is the account i.e.
// the table owner I think.
OdbcDataReader sqlReader = sqlCommand.ExecuteReader();
int fieldCount = sqlReader.FieldCount;
MessageBox.Show("Field Count: " + fieldCount);
}
Но он не работает, потому что по какой-то причине ему не нравится мой оператор select *.Это просто дает ошибку, указанную выше.Transoft USQL действительно другой зверь?
Все остальное до сих пор (спасибо еще раз за последний пост, на который я получил ответ) отлично работает.
Вот моя строка подключения согласнокомментарий:
private void Form1_Load(object sender, EventArgs e)
{
txtDSNName.Text = "Company_Shared";
}
private void btnConnect_Click(object sender, EventArgs e)
{
ConnectToData(txtDSNName.Text);
}
public void ConnectToData(String dsn)
{
conn= new System.Data.Odbc.OdbcConnection();
//conn.ConnectionString = "FIL=MS Access;DSN=" + dsn;
conn.ConnectionString = "DSN=" + dsn; //dsn equals "Company_Shared"
try
{
conn.Open();
MessageBox.Show("Connected!");