小编Gor*_*son的帖子

将图像存储到 Access 数据库的附件字段中

我正在编写一个 VB 应用程序,需要在数据库中存储图像。用户在计算机上选择图像,这会以字符串形式提供路径。这是我的尝试,但是我收到错误“INSERT INTO 查询不能包含多值字段”。

这是我的代码:

Dim buff As Byte() = Nothing
Public Function ReadByteArrayFromFile(ByVal fileName As String) As Byte()
    Dim fs As New FileStream(fileName, FileMode.Open, FileAccess.Read)
    Dim br As New BinaryReader(fs)
    Dim numBytes As Long = New FileInfo(fileName).Length
    buff = br.ReadBytes(CInt(numBytes))
    Return buff
End Function

Sub ....
    Dim connImg As New OleDbConnection
    Dim sConnString As String
    Dim cmdImg As New OleDbCommand

    sConnString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & My.Settings.DB & ";Persist Security Info=False;"
    connImg = New OleDbConnection(sConnString)
    connImg.Open()
    cmdImg.Connection = connImg …
Run Code Online (Sandbox Code Playgroud)

database vb.net attachment oledbcommand ms-access-2013

3
推荐指数
1
解决办法
1万
查看次数

Jackcess“ NoClassDefFoundError”异常

我正在使用jackcess来访问我的访问数据库。但我遵循例外

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/lang/builder/CompareToBuilder
    at com.healthmarketscience.jackcess.impl.RowIdImpl.compareTo(RowIdImpl.java:113)
    at com.healthmarketscience.jackcess.impl.IndexData$Entry.compareTo(IndexData.java:1838)
    at com.healthmarketscience.jackcess.impl.IndexData$Entry.compareTo(IndexData.java:1646)
    at java.util.Collections.indexedBinarySearch(Collections.java:273)
    at java.util.Collections.binarySearch(Collections.java:259)
    at com.healthmarketscience.jackcess.impl.IndexData$DataPage.findEntry(IndexData.java:2368)
    at com.healthmarketscience.jackcess.impl.IndexData.findEntryPosition(IndexData.java:722)
    at com.healthmarketscience.jackcess.impl.IndexData.access$3300(IndexData.java:56)
    at com.healthmarketscience.jackcess.impl.IndexData$EntryCursor.updatePosition(IndexData.java:2133)
    at com.healthmarketscience.jackcess.impl.IndexData$EntryCursor.restorePosition(IndexData.java:2072)
    at com.healthmarketscience.jackcess.impl.IndexData$EntryCursor.restorePosition(IndexData.java:2055)
    at com.healthmarketscience.jackcess.impl.IndexData$EntryCursor.beforeEntry(IndexData.java:2017)
    at com.healthmarketscience.jackcess.impl.IndexCursorImpl.findPotentialRow(IndexCursorImpl.java:368)
    at com.healthmarketscience.jackcess.impl.IndexCursorImpl.findFirstRowByEntryImpl(IndexCursorImpl.java:262)
    at com.healthmarketscience.jackcess.impl.IndexCursorImpl.findFirstRowByEntry(IndexCursorImpl.java:135)
    at com.healthmarketscience.jackcess.impl.DatabaseImpl$DefaultTableFinder.findRow(DatabaseImpl.java:1890)
    at com.healthmarketscience.jackcess.impl.DatabaseImpl$TableFinder.findObjectId(DatabaseImpl.java:1799)
    at com.healthmarketscience.jackcess.impl.DatabaseImpl.readSystemCatalog(DatabaseImpl.java:804)
    at com.healthmarketscience.jackcess.impl.DatabaseImpl.<init>(DatabaseImpl.java:513)
    at com.healthmarketscience.jackcess.impl.DatabaseImpl.open(DatabaseImpl.java:386)
    at com.healthmarketscience.jackcess.DatabaseBuilder.open(DatabaseBuilder.java:170)
    at com.healthmarketscience.jackcess.DatabaseBuilder.open(DatabaseBuilder.java:193)
    at ass.Access.main(Access.java:25)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.lang.builder.CompareToBuilder
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 23 more
Run Code Online (Sandbox Code Playgroud)

我已经使用了jdbc,但是它也不起作用。如何解决我的问题?

java ms-access netbeans-7 jackcess

3
推荐指数
1
解决办法
6268
查看次数

按下按钮后,使用 VBA 在 MS Access 中导入 .DBF 文件

我必须在单击按钮时导入 .DBF 文件 int MS Access Table。

文件名为 SourceTable.dbf ;Access 数据库是 StudentDataBase.accdb,我要插入的表名为 myTable。

首先我想问:表中是否需要具有相同的字段,或者它可以只是一个空白表。我有以下示例代码:

DoCmd.TransferDatabase transfertype = acImport, databasetype = "dBase III", DatabaseName = "C:/SourceTable.dbf", objecttype = acTable, Source = "SourceTable", destination = "myTable"
Run Code Online (Sandbox Code Playgroud)

我在代码中的哪里指定数据库,表在哪里(StudentDataBase)?

当我这样运行它时,我得到“运行时错误 2507 0 类型未安装数据库类型或不支持您选择的操作。”

我是 Access 和 VB 编程新手,因此请添加一些有关如何重写该代码行的指南。

谢谢!

ms-access vba ms-access-2010

3
推荐指数
1
解决办法
5714
查看次数

尝试通过Java 8中的JDBC-ODBC连接到.accdb文件时出现ClassNotFoundException

我正在Eclipse EE IDE中的Java项目中工作,我必须查询.accdb文件.问题是当我尝试加载驱动程序然后连接到数据库时,它给我一个异常错误.

我的代码:

try{
        String filePath = "//myfilepathtomydb/BLABLA/example.accdb"

        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

        String url = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=" + filePath;

        Connection database = DriverManager.getConnection(url);

        System.out.println("Connection sucessful");

    } catch (ClassNotFoundException e){     
        System.err.println("Got an exception");
        System.err.println(e.getMessage());
        e.printStackTrace();
    } catch (SQLException sqle) {
        sqle.printStackTrace();
        // TODO: handle exception
    }
Run Code Online (Sandbox Code Playgroud)

例外:

Got an exception
sun.jdbc.odbc.JdbcOdbcDriver
java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver
    at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:259)
    at project.Main.main(Main.java:15)
Run Code Online (Sandbox Code Playgroud)

我在64位Windows中使用32位Eclipse,并且从我读过的这种连接到数据库的方式不支持64位JRE,所以我使用的是选择的32位JRE( jdk1.8.0_05)在我的运行配置中,我在VM中使用了'-d32'参数.

显然 …

java eclipse ms-access-2010 jdbc-odbc java-8

3
推荐指数
1
解决办法
5954
查看次数

如何在MS Access 2010中将ACCDB转换为MDB

我在Access 2010中有一个.ACCDB数据库.我需要将其转换为.MDB文件,但我无法做到这一点.

是否可以在Access 2010中执行此操作?如果是,请提供必要的步骤.

ms-access ms-access-2010

3
推荐指数
1
解决办法
4万
查看次数

尝试在 Windows 上导入 pymssql 时出现“ImportError: DLL load failed”

我正在尝试使用这里的示例代码:

http://www.pymssql.org/en/latest/pymssql_examples.html

我使用pip. 我也在 site-packages 文件夹中看到了

C:\Python27\Lib\site-packages\pymmsql.pyd
Run Code Online (Sandbox Code Playgroud)

但是,当我执行代码时,出现以下错误:

Traceback (most recent call last):
File "C:\Android\android_workspace\pythonProject\test.py", line 2, in <module>
import pymssql
ImportError: DLL load failed: The specified module could not be found.
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

python python-2.x pymssql python-3.x

3
推荐指数
1
解决办法
4724
查看次数

可以将Django与Access数据库一起使用吗?

是否可以将Microsoft Access数据库(.accdb)用作Django应用程序的后端?

django ms-access

3
推荐指数
1
解决办法
3184
查看次数

pyodbc.ProgrammingError:没有结果.在一次执行多个语句时,以前的SQL不是查询

我正在处理sql server数据库,

我有一个名为' table1 ' 的表,包含1列和1行

exp_num
0 
Run Code Online (Sandbox Code Playgroud)

我正在尝试将0值exp_num列更新为+1,并返回旧实验和更新实验.

为此,我使用声明语句.

DECLARE @UpdateOutput1 table (Oldexp_num int,Newexp_num int);

UPDATE get_exp_num
    SET exp_num = exp_num+1

OUTPUT
    DELETED.exp_num,
    INSERTED.exp_num
  INTO @UpdateOutput1;

 select * from @UpdateOutput1
Run Code Online (Sandbox Code Playgroud)

当我在运行这个时,SQL editor我得到了结果.

Oldexp_num   Newexp_num
    0             1
Run Code Online (Sandbox Code Playgroud)

但如果我把它作为一个查询,并尝试使用pyodbc包我得到错误.

import pyodbc

connection = pyodbc.connect()  # i am getting a connection
query = "DECLARE @UpdateOutput1 table (Oldexp_num int,Newexp_num int);UPDATE get_exp_num SET exp_num = exp_num+1 OUTPUT DELETED.exp_num, INSERTED.exp_num INTO @UpdateOutput1; select Newexp_num from @UpdateOutput1;"
cursor = connection.cursor()
cursor.execute(query)
cursor.fetchone() …
Run Code Online (Sandbox Code Playgroud)

python pyodbc

3
推荐指数
1
解决办法
1498
查看次数

使用 pyodbc 将 pickle 对象插入数据库

我尝试了以下方法,但没有成功:

keypoints_database = pickle.load( open( "5958.p", "rb" ) )

sql = 'INSERT INTO tb_fpdata (Std_SymbolNo , FP_Descriptors) VALUES (5958 , ?)' , pyodbc.Binary(keypoints_database)
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

错误信息

如何将对象保存到数据库中?

python blob pickle pyodbc

3
推荐指数
1
解决办法
5441
查看次数

带通配符的 PyODBC 查询

我正在尝试通过 Python 使用 LIKE 运算符运行 SQL 查询,以查找在任何位置具有“测试”的任何值。问题似乎与 LIKE 运算符之后的格式有关。没有错误消息,查询只是空的。

我试图模仿的 SQL 查询如下,并在 Access 上执行时起作用。

SELECT Areas.ID, Areas.Name
FROM Areas
WHERE Name LIKE '*test*'
Run Code Online (Sandbox Code Playgroud)

以下是连接和测试数据的制作方式。里面没有问题。

import pyodbc

# Connect to database
conn_str = (
    r'DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};'
    r'DBQ=C:\Temp\TestDB.accdb;'
    r'Uid=;'
    r'Pwd=;'
    )

# Make cursor
connection = pyodbc.connect(conn_str)
connection.setencoding('utf-8')
cursor = connection.cursor()

# Create test table
cursor.execute("CREATE TABLE Areas (ID integer, Name varchar(255))")
connection.commit()

# Create test data 
cursor.execute("INSERT INTO Areas (ID, Name) VALUES (1,'Example_1');")
cursor.execute("INSERT INTO Areas (ID, Name) …
Run Code Online (Sandbox Code Playgroud)

python sql ms-access wildcard pyodbc

3
推荐指数
1
解决办法
1106
查看次数