[AnyDAC][Phys][ODBC][Microsoft][ODBC 驱动管理器]在指定的DSN中,驱动程序和应用程序体系结构不

使用plsql的odbc导入器的时候会出现该问题:
原因是我是64位的系统!!!
解决方法:

1.运行C:\Windows\SysWOW64\odbcad32.exe,打开后如下图所示:

[AnyDAC][Phys][ODBC][Microsoft][ODBC <wbr>驱动管理器]在指定的DSN中,驱动程序和应用程序体系结构不

2.点击添加,选择如下图所示Microsoft Excel Driver(*.xls)

[AnyDAC][Phys][ODBC][Microsoft][ODBC <wbr>驱动管理器]在指定的DSN中,驱动程序和应用程序体系结构不

3.点击完成,在弹出的对话框中的数据源名称后面写上:MY Excel Files,说明里写上:我自己的excel驱动 版本选择 Excel97-2000 如下图所示:

[AnyDAC][Phys][ODBC][Microsoft][ODBC <wbr>驱动管理器]在指定的DSN中,驱动程序和应用程序体系结构不

4.点击确定,完成!

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Linux 内核驱动程序的 mmap 接口用于将设备内存映射到用户空间,让用户空间序可以直接访问设备内存。其 nopage 是 mmap 接口的一个函数指针,它用于处理缺页异常。 当用户空间序访问设备内存时,如果这段内存还没有被映射到物理内存,就会触发缺页异常。这时,内核会调用 mmap 接口的 nopage 函数来处理这个异常。nopage 函数的作用是将设备内存的数据读取到物理内存,然后返回该页的物理地址,让用户空间序可以继续访问。 以下是一个简单的 nopage 函数的使用示例: ``` static int mydrv_mmap(struct file *filp, struct vm_area_struct *vma) { int ret = 0; struct mydrv_dev *dev = filp->private_data; unsigned long pfn; unsigned long start = vma->vm_start; unsigned long size = vma->vm_end - vma->vm_start; /* 确保映射的地址范围合法 */ if (start < dev->mem_start || start + size > dev->mem_end) { return -EINVAL; } /* 将用户空间的地址转换为物理地址 */ pfn = virt_to_phys((void *)dev->mem_start) >> PAGE_SHIFT; ret = remap_pfn_range(vma, start, pfn, size, vma->vm_page_prot); /* 设置 nopage 函数 */ vma->vm_ops = &mydrv_vm_ops; return ret; } static struct vm_operations_struct mydrv_vm_ops = { .nopage = mydrv_nopage, }; static int mydrv_nopage(struct vm_area_struct *vma, struct vm_fault *vmf) { struct mydrv_dev *dev = vma->vm_private_data; unsigned long phys_addr; void *page; /* 计算物理地址 */ phys_addr = (unsigned long)dev->mem_start + (vmf->pgoff << PAGE_SHIFT); /* 读取设备内存数据到物理内存 */ page = virt_to_page(phys_to_virt(phys_addr)); if (!page) { return VM_FAULT_SIGBUS; } get_page(page); vmf->page = page; return 0; } ``` 在上述示例,mydrv_nopage 函数用于处理缺页异常。它首先计算出设备内存的物理地址,然后将该页的数据读取到物理内存,并返回该页的物理地址。这样,用户空间序就可以访问这个设备内存页了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值