SINTAXE PARA CRIAR DBF COM CAMPO NUMERICO

RO.DRIGOSG 13/08/2012 16:53:20
#407862
Boa tarde pessoal,

Seguinte estou tentando criar um arquivo DBF atraves do seguinte código:

string _StrConnection = [Ô]Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=C:\\)[Ô];
ADODB.ConnectionClass conDatabase = new ADODB.ConnectionClass();

try
{
object objAffected;
string strStatement = [Ô]CREATE TABLE TESTE_DBF (ID numeric(6))[Ô];
string strConnection = _StrConnection;

conDatabase.Open(strConnection, [Ô][Ô], [Ô][Ô], 0);
conDatabase.Execute(strStatement, out objAffected, 0);

Dts.TaskResult = (int)ScriptResults.Success;

}
catch (Exception ex)
{
Dts.TaskResult = (int)ScriptResults.Failure;
throw (ex);
}

finally
{
conDatabase.Close();
}


Porém ao executar o código ocorre erro de sintaxa, eu só consigo criar o arquivo quando coloco o tipo da variavel igual a INTEGER e eu gostaria de cria-lo como NUMERIC (6,0). Estou usando o Driver do dBASE e a versão do ADODB é a 6.0 (Microsoft ActiveX Data Objects 6.0 Library).

Alguem sabe me informar qual a sintaxe correta para que eu possa criar o DBF com campos numéricos ou até mesmo outro método (Lembrando que eu tenho que usar o Driver do dBASE, não posso utilizar o Driver JET) ?
KERPLUNK 13/08/2012 19:44:29
#407880
Crie como LONG...
RO.DRIGOSG 14/08/2012 10:20:29
#407904
KERPLUNK,

Tenho que usar o Driver do dBASE e por esse motivo quando coloco Long ou Integer ele converte para Numeric(20,5) e eu tenho que colocar como Numeric(6) por exemplo.
KERPLUNK 14/08/2012 10:39:29
#407906
Você vai ter que usar a sintaxe do dBase então. Crie como numeric 6,0 isso significa que o campo terá 6 números e nenhuma casa decimal. Mais aqui
RO.DRIGOSG 14/08/2012 13:47:40
#407923
Ja tentei isso tambem e ocorre o seguinte erro:

System.Runtime.InteropServices.COMException
[Ô][Microsoft][Driver ODBC para dBase] Erro de sintaxe na instrução CREATE TABLE[Ô]
KERPLUNK 14/08/2012 14:44:47
#407927
Verifique a tabela de tipos do dBase
RO.DRIGOSG 14/08/2012 15:48:23
#407935
Tentei de todos os modos: Numeric, float, money e nao de certo. O engraçado ou nem tanto e que quando eu coloco por ex: numeric(7,0) ou float(7,0) da erro de sintaxe, mas se eu colocar somente o campo e o tipo sem especificar o tamanho, dai cria normalmente, ex:
CREATE TABLE TESTE (ID NUMERIC)

Quando eu abro o dbf o campo esta com valor (Numeric(20,5)), isso tanto para numeric, float ou money.

Alguma sugestão?
Tópico encerrado , respostas não são mais permitidas