小编Gor*_*son的帖子

使用Microsoft Access和VB.NET进行SQL注入预防

我是ASP.NET的初学者,所以我对如何在ASP.NET中阻止SQL注入有一些疑问.我的编程语言是VB.NET,而不是C#,我使用Microsoft Access作为我的数据库.

我的问题是:

  1. 如何保护我的数据库免受SQL注入?
  2. 我一直在阅读其他论坛的帖子,他们说使用参数与存储过程,参数与动态SQL.它们可以在Microsoft Access数据库中实现吗?

vb.net asp.net ms-access sql-injection visual-studio-2008

6
推荐指数
1
解决办法
2513
查看次数

Access 2007:意外错误(40230)

尝试访问Access 2007中的表单的VBA代码时,我收到一个意外错误(40230).

我试过反编译,这就是我发现该项目是腐败的.我反编译时收到以下消息:

"The Visual Basic for Applications project in the database is corrupt"
Run Code Online (Sandbox Code Playgroud)

我尝试通过以下方式将VBA代码保存到文本文件:

Application.SaveAsText acForm, "App_Form", "C:\Users\jck112\Documents\Module1.txt"
Run Code Online (Sandbox Code Playgroud)

但我得到以下错误:

Run-time error '3021'
No current record.
Run Code Online (Sandbox Code Playgroud)

我也尝试将表单导入新数据库,但它不允许我.它允许我从表单所在的同一个DB导入表,查询,但不会让我选择表单,它被禁用.

另外,我有.accdb和.accde文件.

注意:使用时,表单功能完全正常.按钮点击按预期执行,因此这些按钮背后的代码可以正常工作.但我需要对代码进行一些增强.

有什么方法可以检索我的VBA代码吗?或修理我的数据库?

任何帮助都非常感谢

ms-access vba ms-access-2007 access-vba

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

Unicode(希腊语)字符存储在数据库中,如"??????"

数据库中的希腊字符就像问号("?????").我找不到解决方案.我使用Java/Swing开发了一个应用程序但是当我在MySQL中插入希腊字母时就像问号一样.我将db collat​​ion更改为utf8和列.我的项目编码设置为UTF-8.当我从MySQL插入希腊字母时,它们被正确存储.

我正在使用MySQL连接器jar文件.

public class Testing {

/**
 * @param args the command line arguments
 */
public static void main(String[] args) {

    try {
        Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/chartest","root","1234");
        Statement pst=conn.createStatement();
        String var1="??????";
        String sql="INSERT INTO chars(value) values('"+var1+"')";
       pst.execute(sql);
    } catch (SQLException ex) {
        Logger.getLogger(Testing.class.getName()).log(Level.SEVERE, null, ex);
    }
}
Run Code Online (Sandbox Code Playgroud)

}

java mysql jdbc

6
推荐指数
1
解决办法
1749
查看次数

如何将嵌套节点(父/子关系)的XML导入Access?

我正在尝试将XML文件导入Access,但它会创建3个不相关的表.也就是说,子记录被导入到子表中,但是无法知道哪个子记录属于哪个父记录.

如何导入数据以维护父节点和子节点(记录)之间的关系?

以下是XML数据的示例:

<NOTARIO>
    <C_NOT>8404180</C_NOT>
    <APE>Abalos Nuevo</APE>
    <NOM>Francisco José</NOM>
    <NOTARIAS>
        <NOTARIA>
            <PRO>23</PRO>
            <MUN>0888</MUN>
            <F_IN>1984-12-01</F_IN>
            <F_FI>1986-09-19</F_FI>
        </NOTARIA>
        <NOTARIA>
            <PRO>14</PRO>
            <MUN>0569</MUN>
            <F_IN>1990-09-17</F_IN>
            <F_FI>1995-03-15</F_FI>
        </NOTARIA>
        <NOTARIA>
            <PRO>21</PRO>
            <MUN>0412</MUN>
            <F_IN>1995-03-30</F_IN>
            <F_FI></F_FI>
        </NOTARIA>
    </NOTARIAS>
</NOTARIO>
Run Code Online (Sandbox Code Playgroud)

xml import ms-access

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

在 jTDS 中使用 datetimeoffset 数据类型

jTDS 当前不支持datetimeoffsetSQL Server 2008 中引入的数据类型。

任何人都可以建议是否有办法将datetimeoffset类型与 jTDS一起使用?

sql-server jtds jdbc datetimeoffset sql-server-2008

6
推荐指数
1
解决办法
943
查看次数

加速从 pyodbc 插入 SQL Server

在 中python,我有一个从一个数据库 ( Redshiftvia psycopg2) 中选择数据的过程,然后将该数据插入SQL Server(via pyodbc)。我选择进行读/写而不是读/平面文件/加载,因为每天的行数约为 100,000。似乎更容易简单地连接和插入。但是 - 插入过程很慢,需要几分钟。

有没有更好的方法使用 Pyodbc 将数据插入 SQL Server?

select_cursor.execute(output_query)

done = False
rowcount = 0

while not done:
    rows = select_cursor.fetchmany(10000)

    insert_list = []

    if rows == []:
        done = True
        break

    for row in rows:
        rowcount += 1

        insert_params = (
            row[0], 
            row[1], 
            row[2]
            )

        insert_list.append(insert_params)            

    insert_cnxn = pyodbc.connect('''Connection Information''')

    insert_cursor = insert_cnxn.cursor()

    insert_cursor.executemany("""
        INSERT INTO Destination (AccountNumber, OrderDate, Value)
        VALUES (?, ?, ?) …
Run Code Online (Sandbox Code Playgroud)

python sql-server pyodbc

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

Access 2016 - 用户和权限?

我的雇主严格限于 MS Office 产品和 SharePoint。我无法使用不同的数据库解决方案。

我正在尝试实现和共享一个 Access 数据库,以允许多个用户输入和编辑数据。但是,我(当然)希望限制用户编辑数据库本身(表格、表单等)的能力,并且只能通过表单查看和编辑特定数据。

不幸的是,微软似乎已经从较新的访问数据库中删除了用户和安全性?

https://support.office.com/en-us/article/what-happened-to-user-level-security-69b362cd-503f-4e8a-a735-fb923ffb9fa3?ui=en-US&rs=en-US&ad=US

显然,我将不得不使用 2000-2003 数据库来实现安全性,但随后我将失去 Access 2016 的所有功能。

所以我的问题是,有没有办法在 Access 2016 数据库中的数据库中实现用户和安全性?

ms-access

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

将SQL Server表缓慢加载到pandas DataFrame中

当使用pyodbc从SQL Server数据库加载超过1000万条记录时,Pandas变得非常慢,主要是函数pandas.read_sql(query,pyodbc_conn).以下代码最多需要40-45分钟才能从SQL表中加载10-15百万条记录:Table1

是否有更好更快的方法将SQL表读入pandas Dataframe?

import pyodbc
import pandas

server = <server_ip> 
database = <db_name> 
username = <db_user> 
password = <password> 
port='1443'
conn = pyodbc.connect('DRIVER={SQL Server};SERVER='+server+';PORT='+port+';DATABASE='+database+';UID='+username+';PWD='+ password)
cursor = conn.cursor()

data = pandas.read_sql("select * from Table1", conn) #Takes about 40-45 minutes to complete
Run Code Online (Sandbox Code Playgroud)

python sql-server pyodbc pandas

6
推荐指数
1
解决办法
844
查看次数

Pandas read_sql 带有使用“in”的 where 子句

我需要使用“in”子句查询表,其中 SQL 如下所示:

select * from some_table where some_field in (?)
Run Code Online (Sandbox Code Playgroud)

我最初采取了一种天真的方法并尝试了以下方法:

in_items = [1,2,3,4]
df = pd.read_sql(MY_SQL_STATEMENT, con=con, params=[in_items]
Run Code Online (Sandbox Code Playgroud)

这不起作用,它抛出以下错误:

The SQL contains 1 parameter markers, but 4 parameters were supplied
Run Code Online (Sandbox Code Playgroud)

我陷入困境的是弄清楚如何将项目列表作为单个参数传递。

我可以采用字符串连接方法,例如:

MY_SQL = 'select * from tableA where fieldA in ({})'.format(
  ','.join([str(x) from x in list_items]))
df = pd.read_sql(MY_SQL, con=con)
Run Code Online (Sandbox Code Playgroud)

如果可能的话,我宁愿避免这种方法。有谁知道一种将值列表作为单个参数传递的方法?

我也愿意采用一种可能更聪明的方法来做到这一点。:)

python sql-server sqlalchemy pandas

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

Pantaho MySQL 8连接错误找不到驱动程序类'org.gjt.mm.mysql.Driver'

在升级 ETL 脚本以Mysql 5.8进行MySQL8升级时,一旦我将data-integration/libjar 更新为mysql-connector-java-8.0.xx.jar,它就开始出现以下error.

找不到驱动程序类“org.gjt.mm.mysql.Driver”,请确保安装了“MySQL”驱动程序(jar 文件)。

mysql pentaho pentaho-data-integration mysql-8.0

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