我在asp.net中有以下代码:
using (OleDbCommand command = dbConnW.CreateCommand())
{
string CreateTableK = null;
CreateTableK += "Create Table DSKKAR00 (DSK_ID c(10),DSK_KIND N(1),MON_PYM C(3))";
OleDbCommand cmdCreateTable = new OleDbCommand(CreateTableK, dbConnW);
cmdCreateTable.ExecuteNonQuery();
System.Text.StringBuilder sb = new System.Text.StringBuilder();
sb.Append(WorkRoomNo + ",");
sb.Append("1,");
sb.Append(",");
OleDbCommand cmd3 = new OleDbCommand("Insert into DSKKAR00 (DSK_ID,DSK_KIND,MON_PYM) Values (" + sb.ToString() + ")", dbConnW);
cmd3.ExecuteNonQuery();
Run Code Online (Sandbox Code Playgroud)
但是我有以下错误:
语法错误
只是想知道是否有人可以指向一些提示/脚本的方向,这将帮助我使用PHP从原始dbf文件创建一个mysql.
谢谢你.
我们有一个Foxpro exe应用程序,它在服务器中共享,大约有20个用户运行它.一位同事告诉我,如果那些dbf表需要重新编制索引,他应该告诉每个人离开exe应用程序.如果reindex进程启动并且某些用户仍在运行该应用程序,则dbf表将被破坏.
这让我很感兴趣.那可能吗?一直以为当重新索引Foxprox DBF表时,进程本身以独占模式打开表,如果表已经在共享模式下打开,它只对该表没有任何作用.与PAK相似.
我一直试图从Java访问Visual Fox Pro数据库一周.我变得绝望,因为我的项目预算和时间框架非常紧密.(和任何其他项目一样,我猜,哈哈哈)
我有一个.dbf,一个.cdx和一个.fpt文件.我需要能够查找记录,提取数据和更新数据.我没有VFP许可证.
我希望有人可以使用一些指针或工作示例.如果唯一的方法是购买一个司机我会愿意根据收到的建议考虑它.
这是我尝试过的简短描述.
我发现这个xBaseJ:java对象可以读取和写入dBase文件.但它并没有支持CDX索引文件.
还发现此示例访问dbf.但我的测试显示了这个例外:java.sql.SQLException: [Microsoft][Controlador ODBC dBase] La tabla externa no tiene el formato esperado.
我想这个错误的英文翻译可能是这样的:java.sql.SQLException: [Microsoft][ODBC dBase Driver] External table is not in the expected format
由于这个错误,我想我需要一个更新的驱动程序.在这个微软页面中说他们不再拥有ODBC驱动程序,并且每个人都应该使用OLE DB Provider.问题是我还没有找到从java中使用它的方法.
据我所知,没有办法直接做到.在这里发现有人在谈论JACOB"thingy",有人评论需要创建一个C++或C#"某事"才能做我需要的东西.我想他正在谈论JACOB项目:一个JAva-COM桥.但我也不知道COM实际上要做什么.
一直未能找到合适的JDBC驱动程序.
谢谢你们.
伊利.
在Oracle数据库中创建新表空间期间,用户必须输入他(或她)想使用的DBF文件名。然后在特定位置创建DBF文件。
用户还可以指定在其中创建DBF文件的路径。
我需要找到一种方法来获取DBF文件的默认位置。
我知道如何通过使用SQL查询在MS Sql中执行此操作:
select substring(physical_name, 1, charindex(N'master.mdf', lower(physical_name)) - 1) from master.sys.master_files where database_id = 1 and file_id = 1;
Run Code Online (Sandbox Code Playgroud)
但是我不知道如何在Oracle中做到这一点。我已经尝试了几件事:
all_directories-在那里找不到任何信息v$datafile查看了该视图-意识到该视图和其他视图仅对数据库管理员可用还有一些限制:
任何帮助深表感谢。
我一直在研究一个读取dbf文件的程序,弄乱数据,并将其保存回dbf.我遇到的问题特别与写作部分有关.
private const string constring = "Driver={Microsoft dBASE Driver (*.dbf)};"
+ "SourceType=DBF;"
+ "DriverID=277;"
+ "Data Source=¿;"
+ "Extended Properties=dBASE IV;";
private const string qrystring = "SELECT * FROM [¿]";
public static DataTable loadDBF(string location)
{
string filename = ConvertLongPathToShort(Path.GetFileName(location));
DataTable table = new DataTable();
using(OdbcConnection conn = new OdbcConnection(RTN(constring, filename)))
{
conn.Open();
table.Load(new OdbcCommand(RTN(qrystring, filename), conn).ExecuteReader());
conn.Close();
}
return table;
}
private static string RTN(string stmt, string tablename)
{ return stmt.Replace("¿", tablename); }
[DllImport("Kernel32", CharSet = CharSet.Auto)]
static extern …Run Code Online (Sandbox Code Playgroud) 我现在使用ESRI shapefile格式,我在更改/编辑数据库字段大小时遇到了一些问题.我创建了一个200长度/大小的字段,现在我希望它只有80长度/大小(空间和其他改进).
但是我不能再编辑字段大小了:(有人可以指出如何更改字段大小?
顺便说一下,我尝试过可以编辑字段大小的实用工具,例如DBF Explorer,但是当我在字符/文本字段上更改字段大小时,浮点数/数字字段上的数据会被删除:(
DBF Explorer
PS:ESRI数据库使用.dbf扩展,我认为它是DBASE III plus或DBASE IV格式
我需要从.dbf文件中提取数据并将其转换为xml.我写了一个例程,它做得很好.但是现在我们遇到了非常大的.dbf文件 - 比如2GB +.此代码会对这些文件抛出OutOfMemoryException.
Public Function GetData() As DataTable
Dim dt As New DataTable(Name)
Dim sqlcommand As String= "Select * From MyTable"
Dim cn As New OleDbConnection(myconnectionstring)
Try
cn.Open()
Dim cmd As New OleDbCommand(sqlcommand, cn)
dt.Load(cmd.ExecuteReader())
Catch ex As Exception
Throw ex
Finally
dt.Dispose()
cn.Close()
cn.Dispose()
End Try
Return dt
Run Code Online (Sandbox Code Playgroud)
问题是 - 如果我在我的计算机上通过Visual Studio在调试模式下针对相同的2GB .dbf文件运行相同的代码,则不会抛出任何异常.它几乎就像Visual Studio管理内存的方式与应用程序单独管理不同.
反正有没有解决内存问题?我尝试过使用具有类似结果的DataAdapter.我在Visual Studio预期/设计中看到的这种行为是什么?
我正在尝试为 DBF 文件(Visual Fox Pro)创建一个 SQL 参数化更新命令,我不知道为什么,但在“DbCommand.ExecuteNonQuery();”上有一个“语法错误”。
异常错误消息是“语法错误”。我没有任何额外信息。
string maRequete = "UPDATE " + strNomTable + " set "
+ "evetype = @evetype ,"
+ "evedes = @evedes ,"
+ "evecli = @evecli ,"
+ "eveusermo = @eveusermo ,"
+ "eveinterv = @eveinterv where eveNum = '" + strEvtNumeroString.ToString() + "'";
OleDbCommand DbCommand = new OleDbCommand(maRequete);
DbCommand.Parameters.Add("@evetype", OleDbType.VarChar);
DbCommand.Parameters.Add("@evedes", OleDbType.VarChar);
DbCommand.Parameters.Add("@evecli", OleDbType.VarChar);
DbCommand.Parameters.Add("@eveusermo", OleDbType.VarChar);
DbCommand.Parameters.Add("@eveinterv", OleDbType.VarChar);
DbCommand.Parameters["@evetype"].Value = m_strEvtType.ToString().Trim();
DbCommand.Parameters["@evedes"].Value = m_strDesignation.ToString().Trim();
DbCommand.Parameters["@evecli"].Value = m_strCodeClient.ToString().Trim();
DbCommand.Parameters["@eveusermo"].Value = m_strUserModification;
DbCommand.Parameters["@eveinterv"].Value = …Run Code Online (Sandbox Code Playgroud) 我有一个非常大的dBase文件(1.64Gb).使用标准foreign::read.dbf()函数在R中加载整个文件需要很长时间.我想在数据集中只加载一些变量.有没有人有办法解决吗 ?